简体   繁体   English

单击Chrome扩展程序图标时打开iFrame

[英]Open iFrame when clicking on Chrome extension icon

I'm trying to open an iFrame sidebar when clicking on the Chrome extension icon. 点击Chrome扩展程序图标时,我正在尝试打开iFrame侧边栏。 I get the alert from background.js but I'm not getting the click detected by content.js . 我收到来自background.js的警报,但没有得到content.js检测到的点击。 No alert or iFrame opening up. 没有警报或iFrame打开。

I thought I've followed answers here and here but can't get it to work 我以为我在这里这里都遵循了答案,但无法正常工作

{
    "manifest_version": 2,
    "name": "Treasure Roller",
    "version": "1.0",
    "description": "Roll for Treasure!",
    "icons": {
        "128": "images/icon128.png",
        "48": "images/icon48.png",
        "16": "images/icon16.png"
    },
    "browser_action": {
        "default_icon": "images/icon16.png"

    },
    "background": {
        "persistent": true,
        "scripts": [
            "jquery-3.3.1.min.js",
            "background.js"
        ]
    },
    "content_scripts" : [
        {
          "matches" : ["<all_urls>", "http://*/*", "https://*/*"],
          "css" : ["content.css"],
          "js" : ["content.js"]
        }
      ],
    "permissions": [
        "activeTab"
    ],
    "web_accessible_resources": [
        "images/*",
        "sidebar.html"
    ]
}

background.js background.js

chrome.browserAction.onClicked.addListener(sendfunc);
function sendfunc(tab){
msg={txtt:"execute"};
chrome.tabs.sendMessage(tab.id,msg);
alert('working?');
}

content.js content.js

chrome.runtime.onMessage.addListener(recievefunc);

function receivefunc(mssg,sender,sendResponse){
if(mssg.txtt==="execute"){
  var iframe = document.createElement('iframe');
  iframe.src = chrome.extension.getURL("sidebar.html");
  iframe.frameBorder = 0;
  document.body.appendChild(iframe);
  alert('yes works');
}
}

sidebar.html sidebar.html

<!DOCTYPE <!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Treasure Roller</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" type="text/css" media="screen" href="style.css" />
    <script src="jquery-3.3.1.min.js"></script>
    <script src="sidebar.js"></script>
</head>
<body id="body">
  <div id="sidebar">
    <h1>Treasure Roller</h1>
    <div id="size-container">
      <input type="radio" id="individual" name="size" value="individual">
      <label for="individual">Individual</label>

      <input type="radio" id="hoard" name="size" value="hoard" checked>
      <label for="hoard">Hoard</label>
    </div>

    <div id="challenge-container">
      <input type="radio" id="0-4" name="challenge" value="0-4">
      <label for="0-4">0-4</label>

      <input type="radio" id="5-10" name="challenge" value="5-10">
      <label for="5-10">5-10</label>

      <input type="radio" id="11-16" name="challenge" value="11-16" checked>
      <label for="11-16">11-16</label>

      <input type="radio" id="17+" name="challenge" value="17+">
      <label for="17+">17+</label>
    </div>

    <div id="btn">
      <button id="roll">Roll!</button>
    </div>

    <div id="coin-container">
      <div id="cp"></div>
      <div id="sp"></div>
      <div id="ep"></div>
      <div id="gp"></div>
      <div id="pp"></div>
    </div>

    <div id="objects-container">
      <div id="objects-title"></div>
    </div>

    <div id="magic-container">
        <div id="magic-title">Magic Items</div>
    </div>

  </div>
</body>
</html>

对于任何看到此问题的人, 是一个很好的答案,对我有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 弹出窗口未在Chrome扩展程序中显示,但在单击图标时会触发所有事件 - Popup not showing in Chrome Extension, but firing all events when clicking icon 通过右键单击而不是浏览器的扩展程序图标来打开chrome扩展程序窗口 - open chrome extension window by right-clicking instead of extension icon of browser 在Chrome扩展程序中点击图片时,如何在新标签页中打开链接? - How to open a link in a new tab when clicking on an image in a chrome extension? 单击图标后,Chrome扩展程序无法打开(开发人员模式) - Chrome Extension doesn't open when clicked icon (developer mode) Chrome扩展程序无需点击图标即可加载脚本 - Chrome extension to load the script without clicking on icon 单击扩展图标时,在新选项卡中打开扩展的options.html页面 - Open the extension's options.html page in new tab when clicking on extension icon 如何在Chrome扩展程序中加载内容脚本,而无需单击扩展程序图标 - how to load a content script in chrome extension without clicking the extension icon (Chrome 扩展)chrome.tabs.remove 自动删除我在点击超链接时打开的标签 - (Chrome Extension) chrome.tabs.remove auto deleting tabs that I open when clicking on hyperlinks Chrome 扩展在图标上打开新标签点击 - Chrome Extension Open New Tab on Icon Click 再次单击浏览器操作图标,关闭Chrome扩展程序弹出窗口 - Close a Chrome extension popup by clicking the browser action icon again
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM