【问题标题】:How do I open a URL in a new tab from within a chrome extension?如何从 chrome 扩展程序中的新选项卡中打开 URL?
【发布时间】:2015-12-09 12:47:16
【问题描述】:

我想将图像用作按钮 (setting.png),然后单击在新选项卡中打开 URL。

我的popup.html:

    <html>
  <head>

    <style>
    </style>
  </head>
  <body>
    <a href = "http://google.com" id="link"><img src="setting.png" width="30px" height="auto"></a>
    <script src ="javascript.js"></script>
  </body>
</html>

manifest.json:

{
  "manifest_version": 2,

  "name": "",
  "options_page": "options.html",
  "background": {
        "scripts": [
            "background.js"
        ]
    },
  "description": "",
  "version": "1.5",
  "offline_enabled": true,
  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  },
  "icons": { "16": "icon16.png",
              "32": "icon32.png",
           "48": "icon48.png",
           "64": "icon64.png",
          "128": "icon128.png" },

  "permissions": [
    "activeTab",
    "https://ajax.googleapis.com/",
    "storage",
    "tabs"
  ]
}

javascipt.js:

window.addEventListener('click',function(e){
  if(e.target.href!==undefined){
    chrome.tabs.create({url:e.target.href})
  }
})

所以当我点击图片时,我想在新标签页中打开 URL。谢谢!

【问题讨论】:

  • 下次请使用搜索。
  • 对不起@xan,但这不符合我的需要。
  • 它明确地做到了。您不使用 jQuery,因此接受的答案不适用,但那里有 2 个非 jQuery 答案。
  • 当然,它可能无法以复制和粘贴的方式满足您的需求,但是您需要更清楚地指定您的需求,并显示您尝试如何应用该答案并失败。
  • 好的,谢谢。我已经更新了我的代码。我尝试使用stackoverflow.com/a/26216955/5586484。但这似乎不起作用。你能告诉我哪里出错了吗?

标签: javascript html google-chrome google-chrome-extension


【解决方案1】:
  1. Chrome 设置event.target 中最里面的点击元素,即图片。
  2. 不需要click 处理程序,只需为链接使用target="_blank" 属性:

<a href="http://google.com" id="link" target="_blank">

附:如果出现问题始终使用debugger 来查看实际发生的情况(在点击处理程序中设置断点、点击链接、检查参数等等)。

【讨论】:

  • 感谢您回答@wOxxOm!好吧,如果我错了,请纠正我,我可以删除点击处理程序(即所有 JS)?我已经使用了你的代码,但它仍然无法正常工作..
  • 1. There's no need for a click handler 如您在答案 2 中所见。它有效,我刚刚在这里测试过
  • 要么发布您正在使用的确切代码,要么将整个扩展上传到某处,例如tinyupload.com
  • 在 URL 前添加 chrome-extention id
  • @NikhilKulkarni,不,它没有。确保您在href 中指定的 URL 具有如答案中所示的协议。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-25
  • 2012-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多