首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谷歌网页搜索

谷歌网页搜索
EN

Stack Overflow用户
提问于 2019-08-29 11:30:29
回答 3查看 46关注 0票数 0

我在建一个简单的网页。我想在一个<div>中选择文本,然后在同一个浏览器中打开一个新的选项卡,然后点击一个按钮对该文本进行谷歌搜索。现在,我有一个解决方案复制到剪贴板上,只需按一下按钮。有什么解决办法吗.?

我不介意使用谷歌Chrome或Firefox,因为它只是一个本地项目。不是用来招待公众的。

UPDATE:我实际上需要复制由div内部的其他代码呈现的文本。我也不想在div里面复制代码。

作为参考,下面是我用来复制剪贴板函数的代码片段。

JavaScript:

代码语言: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:

代码语言:javascript
复制
<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中的文本,然后复制它。我不想搜索剩下的代码.

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-08-30 09:26:55

好的,我有个解决办法。希望它能帮助其他人解决同样的问题。我要特别感谢@Daan Seuntjens和@Alex Dragnea,因为我已经使用了他们的基本方法来分享答案。

在这里,我选择了<div>中的文本,并将其存储在range变量中,该变量之前用于复制剪贴板函数。然后,我使用了另一个变量query,就像前面告诉我的两个答案一样,将文本https://www.google.com/search?q=添加到文本的开头。然后,我做了window.open(query);打开它在另一个标签,然后做谷歌搜索。

注意到:这段代码不是在堆栈溢出时运行的。但是,我已经在外部测试过了。它已经确认并准备出发..。

代码语言:javascript
复制
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);
        }
 } 
代码语言:javascript
复制
<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>

票数 0
EN

Stack Overflow用户

发布于 2019-08-29 11:54:46

尝试使用下面的代码。

您可以了解有关如何从页面这里重定向的更多信息。

代码语言:javascript
复制
<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
EN

Stack Overflow用户

发布于 2019-08-29 11:40:56

此代码完成了以下工作:

代码语言:javascript
复制
function searchMe() {
  var stringQuery = document.getElementById('text_div').innerHTML;
  var query = "https://www.google.com/search?q=" + stringQuery.split(' ').join('+');
  window.open(query);
}
代码语言:javascript
复制
<div id="text_div" onClick="searchMe();">
Kittens
</div>

Note:这里不适用于堆栈溢出,但是我已经在一个自定义的html文件中测试过它,它可以工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57709223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档