0

我的 Firefox 扩展必须执行以下操作:

  1. 保存当前页面的地址
  2. 打开一个新页面
  3. 如果按下按钮,则将地址放入新页面的内容中

问题是如何将此地址保存到变量中。如果地址通过第一页上的函数保存在变量中,则新页面上的函数(必须在按下按钮时显示地址)没有该变量。我应该使用全局函数还是什么?

function openTab() {
  //Save an address of current page
  path=content.location.href;
  //Open new Tab and select it
  var tab=gBrowser.addTab("chrome://intabeditor/content/editor.html");
  var newTabBrowser = gBrowser.getBrowserForTab(tab);
  gBrowser.selectedTab=tab;
}

function write() {
  content.body.innerHTML=path;
}

openTab()当按下正确的按钮时,该功能被执行。功能也一样write()

4

1 回答 1

1
var path = null;
function openTab() {
  //Save an address of current page
  path=content.location.href;
  //Open new Tab and select it
  var tab=gBrowser.addTab("chrome://intabeditor/content/editor.html");
  var newTabBrowser = gBrowser.getBrowserForTab(tab);
  gBrowser.selectedTab=tab;
}

function write() {
  if (path!=null)
    content.body.innerHTML=path;
}

---编辑 这个例子呢?一切都封装在 xopen 中:

<script type="text/javascript">

    var xopen = function()
    {
        this.path = null;
        this.openTab = function()
        {
            //Save an address of current page
            this.path=content.location.href;
            //Open new Tab and select it
            var tab=gBrowser.addTab("chrome://intabeditor/content/editor.html");
            var newTabBrowser = gBrowser.getBrowserForTab(tab);
            gBrowser.selectedTab=tab;   
        }

        this.write = function () 
        {
            if (this.path!=null)
                content.body.innerHTML=this.path;
        }
    }
    var wopen = new xopen();

</script>
<button onclick="wopen.openTab()">openTab</button>
<button onclick="wopen.write()">write</button>
于 2009-08-19T21:02:19.600 回答