通过php/html/javascript等控制浏览器的搜索栏文本


Controlling search bar text of a browser via php/html/javascript etc

是否可以通过使用HTML/PHP/CSS/Javascript或任何其他语言的网站来控制浏览器的搜索栏文本?例如,如果我有一个名为wwww.mywebsite.com的网站,包含3个不同的页面,例如主页,图片和视频,例如,如果用户进入图片页面,我希望网站检测到用户在图片页面,然后将搜索栏中的文本更改为www.mywebsite.com/youareviewingpictures或其他内容。

不确定这是否有意义,但在pseudo代码中,它看起来像这样;

IF current state of www.mywebsite.com page = pictures THEN
   Search Bar Text = "www.mywebsite.com/yourareviewingpictures"
ELSE
   Search Bar Text = "www.mywebsite.com"

如果这是不可能的,是否可以写一些代码,例如,在图片页面上,当用户进入图片页面时,改变搜索栏的文本。

我希望我已经说清楚了,如果不是,请让我知道,我会尽量解释得更好一点。

谢谢。

edit:我想知道的是,是否有可能通过网站内编写的代码来改变网站的URL,该代码可以检测用户所处的页面并相应地更改URL。

例如,我在www.google.com上打开图像页面url会变成www.google.com/images但是,我想通过代码检测用户在图像页面上并改变url的文本例如,www.google.com/imagepageopened

如果您更改输入的占位符或值而不是搜索栏文本,则可以很容易地做到这一点。就可以了。

<script>document.getElementById("searchField").placeholder = window.location.href;</script>

这可以使用javascript完成,看看window.history API:

var stateObj = { foo: "bar" };
history.pushState(stateObj, "page 2", "bar.html");

这将导致URL栏显示http://mozilla.org/bar.html,但不会导致浏览器加载bar.html,甚至不会检查bar.html是否存在。

参考:https://developer.mozilla.org/en-US/docs/Web/API/History_API

您在这里试图找到的是apache服务器中.htacess配置文件的mod_rewrite。它基本上是一个文件,可以在每个网站的根有特殊配置,改变服务器的行为,如限制访问某些文件,改变url为一个更用户友好的版本等。

这篇文章为您提供了mod_rewrite和haccess的详细说明,建议您从这里开始。