网页上的Google搜索

时间:2019-08-29 11:30:29

标签: html google-chrome firefox google-search

我正在构建一个简单的网页。 我想在<div>中选择文本,然后在同一浏览器中打开一个新标签,然后单击按钮,用Google搜索该文本。现在,我只需要单击按钮即可复制到剪贴板的解决方案。有什么解决方法吗??

我可以使用Google Chrome或Firefox,因为它仅用于本地项目。不适用于公共托管。

更新:实际上,我需要复制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>

此代码仅选择div中的文本,然后将其复制。我不想搜索其余的代码。...

3 个答案:

答案 0 :(得分:1)

尝试下面的代码。

您可以找到有关如何从页面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>

答案 1 :(得分:0)

此代码可以完成这项工作:

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>

注意:不适用于stackoverflow,但我已经在自定义html文件中对其进行了测试,并且可以正常工作。

答案 2 :(得分:0)

好的,我有一个解决方法。希望它可以帮助遇到相同问题的其他人。特别感谢@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>