Google 从网页搜索
Google search from webpage
我正在构建一个简单的网页。
我想要 select <div>
中的文本,然后在同一浏览器中打开一个新选项卡,然后单击按钮 Google 搜索该文本。现在,我只有通过单击按钮复制到剪贴板的解决方案。是否有解决此问题的方法...?
我可以使用 Google Chrome 或 Firefox,因为它仅适用于本地项目。不适用于 public 托管。
UPDATE:我实际上需要复制由 div 中的其他 HTML 代码呈现的文本。我也不想复制 div 中的代码。
作为参考,这是我用来复制到剪贴板功能的代码片段。
JavaScript:
function CopyToClipboard(containerid) {
if (document.selection) {
var range = document.body.createTextRange();
range.moveToElementText(document.getElementById(containerid));
range.select().createTextRange();
document.execCommand("copy");
} else if (window.getSelection) {
var range = document.createRange();
range.selectNode(document.getElementById(containerid));
window.getSelection().addRange(range);
document.execCommand("copy");
alert("Copied the text. Use Ctrl+V to paste on Google")
}
}
HTML:
<div class="search" id="div1">
<!--Text to search for (here, CEO of Google)-->
<span>CEO of Google</span>
</div>
<button id="button1" class="button" onclick="CopyToClipboard('div1')">Copy question</button>
此代码 select 只是 div 中的文本,然后将其复制。我不想搜索其余的代码....
这段代码可以完成工作:
function searchMe() {
var stringQuery = document.getElementById('text_div').innerHTML;
var query = "https://www.google.com/search?q=" + stringQuery.split(' ').join('+');
window.open(query);
}
<div id="text_div" onClick="searchMe();">
Kittens
</div>
注意:在 Whosebug 上不起作用,但我已经在自定义 html 文件中对其进行了测试并且它有效。
试试下面的代码。
您可以找到有关如何从您的页面重定向的更多信息here。
<html>
<body>
<div id="search_this">New text</div>
<button type="button" onclick="myButtonOnClick()">Search!</button>
</body>
<script>
function myButtonOnClick(){
let url = "https://www.google.com/search?q=";
let searchText = document.getElementById("search_this").innerHTML;
debugger;
window.open(url + searchText);
}
</script>
</html>
好的,我有一个解决方法。希望它能帮助其他人解决同样的问题。特别感谢@Daan Seuntjens 和@Alex Dragnea 分享答案,因为我使用了他们的基本方法。
在这里,我选择了 <div>
中的文本并将其存储在之前用于复制到剪贴板功能的 range
变量中。然后,我确实使用了另一个变量 query
就像前面的两个答案告诉我将文本 https://www.google.com/search?q=
添加到文本的开头一样。然后,我 window.open(query);
在另一个选项卡中打开它,然后进行 Google 搜索..
注意:此代码不在 Stack Overflow 上 运行。但是,我已经在外部对其进行了测试。它已经过验证,可以使用了...
function search(containerid) {
if (window.getSelection) {
var range = document.createRange();
range.selectNode(document.getElementById(containerid));
window.getSelection().addRange(range);
var query = "https://www.google.com/search?q=" + range;
window.open(query);
}
}
<div class="question" id="div1">
<!--Text to search for (here, CEO of Google)....-->
<span>CEO of Google</span>
</div>
<button class="button" onclick="search('div1')">Search</button>
我正在构建一个简单的网页。
我想要 select <div>
中的文本,然后在同一浏览器中打开一个新选项卡,然后单击按钮 Google 搜索该文本。现在,我只有通过单击按钮复制到剪贴板的解决方案。是否有解决此问题的方法...?
我可以使用 Google Chrome 或 Firefox,因为它仅适用于本地项目。不适用于 public 托管。
UPDATE:我实际上需要复制由 div 中的其他 HTML 代码呈现的文本。我也不想复制 div 中的代码。
作为参考,这是我用来复制到剪贴板功能的代码片段。
JavaScript:
function CopyToClipboard(containerid) {
if (document.selection) {
var range = document.body.createTextRange();
range.moveToElementText(document.getElementById(containerid));
range.select().createTextRange();
document.execCommand("copy");
} else if (window.getSelection) {
var range = document.createRange();
range.selectNode(document.getElementById(containerid));
window.getSelection().addRange(range);
document.execCommand("copy");
alert("Copied the text. Use Ctrl+V to paste on Google")
}
}
HTML:
<div class="search" id="div1">
<!--Text to search for (here, CEO of Google)-->
<span>CEO of Google</span>
</div>
<button id="button1" class="button" onclick="CopyToClipboard('div1')">Copy question</button>
此代码 select 只是 div 中的文本,然后将其复制。我不想搜索其余的代码....
这段代码可以完成工作:
function searchMe() {
var stringQuery = document.getElementById('text_div').innerHTML;
var query = "https://www.google.com/search?q=" + stringQuery.split(' ').join('+');
window.open(query);
}
<div id="text_div" onClick="searchMe();">
Kittens
</div>
注意:在 Whosebug 上不起作用,但我已经在自定义 html 文件中对其进行了测试并且它有效。
试试下面的代码。
您可以找到有关如何从您的页面重定向的更多信息here。
<html>
<body>
<div id="search_this">New text</div>
<button type="button" onclick="myButtonOnClick()">Search!</button>
</body>
<script>
function myButtonOnClick(){
let url = "https://www.google.com/search?q=";
let searchText = document.getElementById("search_this").innerHTML;
debugger;
window.open(url + searchText);
}
</script>
</html>
好的,我有一个解决方法。希望它能帮助其他人解决同样的问题。特别感谢@Daan Seuntjens 和@Alex Dragnea 分享答案,因为我使用了他们的基本方法。
在这里,我选择了 <div>
中的文本并将其存储在之前用于复制到剪贴板功能的 range
变量中。然后,我确实使用了另一个变量 query
就像前面的两个答案告诉我将文本 https://www.google.com/search?q=
添加到文本的开头一样。然后,我 window.open(query);
在另一个选项卡中打开它,然后进行 Google 搜索..
注意:此代码不在 Stack Overflow 上 运行。但是,我已经在外部对其进行了测试。它已经过验证,可以使用了...
function search(containerid) {
if (window.getSelection) {
var range = document.createRange();
range.selectNode(document.getElementById(containerid));
window.getSelection().addRange(range);
var query = "https://www.google.com/search?q=" + range;
window.open(query);
}
}
<div class="question" id="div1">
<!--Text to search for (here, CEO of Google)....-->
<span>CEO of Google</span>
</div>
<button class="button" onclick="search('div1')">Search</button>