我想使用 Google Chrome 中的关键字触发器一次搜索多个网站。我正尝试使用 Javascript 实现此目的,如中所述mozillazine 上的这个主题。
这是据称可以在 Firefox 中运行的代码:
javascript:void(window.open('http://www.google.com/search?q=%s'));void(window.open('http://www.altavista.com/web/results?q=%s'))
我曾尝试将此代码插入“以 %s 代替查询的 URL”(右键单击地址栏 -> 编辑搜索引擎),但调用时没有任何反应。在 Chrome 中,是否可以以这种方式或其他方式实现此操作?我更希望不使用扩展程序来实现这一点。如果不可能,我将不胜感激。谢谢!
答案1
这并不是您正在寻找的,但它非常有帮助。搜索中心这是 Chrome 的一个插件,可以让您搜索许多网站,也可以添加您自己的网站。
答案2
我试图插入此代码 [...] 但当我调用它时什么也没有发生。
当您从多功能框使用搜索引擎时,它只会将查询字符串转换为 URL。这对于实际 URL 很有效,但对于 可能会失败javascript:
。
如果你在显示普通网站的标签页中,则可以使用此自定义搜索,但如果你正在查看新标签或者设置页面。原因是 Chrome 禁用了javascript:
内部chrome://
页面(来源)。
这样做是出于安全原因,因为这些页面通常包含敏感信息(例如,新标签包含最常访问的网站的链接),而 JavaScript 可以访问并泄露该信息。
在 Chrome 中,是否可以以这种方式或其他方式实现此功能?我更愿意不使用扩展程序来实现这一点。
我不认为有一个简单的方法可以实现这一点,因为任何试图从一个公共 HTML 页面自动打开多个选项卡的尝试都会导致几个新的视窗(除非这是需要的)。
解决这个问题的最好方法可能是扩展。
更多选项:
继续使用现有的方法。
只需确保在搜索之前不要打开新标签即可。由于您的自定义搜索不会修改现有标签,因此您可能会习惯这一点。
使用书签“扩展”您的搜索。
将 Google(例如)保留为您的默认搜索并创建以下书签:
Name: Extend Google search URL: javascript:var q=document.location.search.match(/[?&][pq]=(.*?)(&|$)/)[1];window.open('http://www.altavista.com/web/results?q='+q);window.open('http://www.bing.com/search?q='+q);void(0)
执行 Google 搜索后单击书签将在所有其他引擎中进行搜索。
答案3
答案4
我想我找到了你的问题的解决方案这里。非常简单的扩展,您可以将其更改为任何搜索引擎。
另外,如果您下载源代码并更改 popup.html 文件以包含您想要默认的每个条款旁边的代码checked='checked'
,那么您就不必自己检查这四个框。
例如改变:
<input type='checkbox' name='search' value="1" id='google' />Google<br />
到:
<input type='checkbox' checked='checked' name='search' value="1" id='google' />Google<br />