Firefox扩展:按url显示iframe

Firefox扩展:按url显示iframe,firefox,firefox-addon,firefox-addon-webextensions,Firefox,Firefox Addon,Firefox Addon Webextensions,我想为firefox编写一个扩展,我用iframe编写了一个html页面,如下所示: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Comp

我想为firefox编写一个扩展,我用iframe编写了一个html页面,如下所示:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
</head>

<body>
    <div style="height: 200px; width: 300px;" id="wrapper">
        <iframe src="http://example.com" style="height:200px;width:300px"></iframe>
    </div>
</body>
</html>

它适合我,但我想通过currnet url更改iframe url,当用户单击扩展图标时,获取当前url,并使用新url更改iframe源或删除旧iframe和内部新iframe,如
http://example.com/google.com

我如何创建这个

当用户单击扩展图标时

您是指
browserAction
图标还是
PageAction
图标?
这是有区别的。
如果弹出窗口是在
manifest.json
(自动)中设置的,或者通过事件侦听器设置的,则也会有所不同

基于您的示例的示例HTML:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
</head>

<body>
  <div style="height: 200px; width: 300px;" id="wrapper">
      <iframe src="" style="height:200px;width:300px"></iframe>
  </div>
  <script src="popup.js"></script>
</body>
</html>
// run the function
setIframe();

async function setIframe() {

  // get the active tab
  const tabs = await browser.tabs.query({currentWindow: true, active: true});

  // make the URL based on url of the tab i.e. tabs[0].url
  const url = ...... // do whatever

  // set iframe to that url 
  document.querySelector('iframe').src = url;
}