【问题标题】:Javascript - write links to new tabsJavascript - 写入新标签的链接
【发布时间】:2009-06-01 11:43:42
【问题描述】:

在 Firefox 扩展中使用 Javascript,我打开了一个新选项卡。我不知道如何在此选项卡中编写指向 www.google.com 的链接和其他链接(整个列表),用户可以在其中单击链接并打开此页面。

感谢您的帮助

到目前为止,我已经输入了:

var newTabBrowser2 = gBrowser.getBrowserForTab(gBrowser.selectedTab = gBrowser.addTab());

很遗憾,这行不通:

var newTabBrowser2 = gBrowser.getBrowserForTab(gBrowser.selectedTab = gBrowser.addTab());
newdocument=newTabBrowser2.contentDocument.documentElement.textContent;
newdocument.write("<a href=\"http://www.google.com\">google</a><br>");
newdocument.write("<a href=\"http://www.yahoo.com\">yahoo</a><br>");

我已经试过了:

var newTabBrowser2 = gBrowser.getBrowserForTab(gBrowser.selectedTab = gBrowser.addTab());
newTabBrowser2.contentDocument.documentElement.innerHTML += "<a 

href=\"http://www.google.com\">google
";

但这只有在我使用调试器时才有效

知道为什么吗?

谢谢

【问题讨论】:

    标签: javascript firefox-addon hyperlink


    【解决方案1】:

    你的问题不是很清楚你想要什么。可能是这样的:

    newwindow=window.open();
    newdocument=newwindow.document;
    newdocument.write("<a href=\"http://www.google.com\">google</a><br>");
    newdocument.write("<a href=\"http://www.yahoo.com\">yahoo</a><br>");
    newdocument.close();
    

    ???

    【讨论】:

      【解决方案2】:

      我不相信您可以使用 textContent 将 HTML 内容添加到文档中 - 您最好使用 DOM 来构造 HTML。

      这样的东西怎么样(未经测试):

      var newTabBrowser2 = gBrowser.getBrowserForTab(gBrowser.selectedTab = gBrowser.addTab());
      newdocument=newTabBrowser2.contentDocument.documentElement;
      
      var link=newdocument.createElement("a");
      link.setAttribute("href", "http://www.google.com");
      link.textContent="google";
      newdocument.appendChild(link);
      
      newdocument.appendChild(newdocument.createElement("br"));
      
      link=newdocument.createElement("a");
      link.setAttribute("href", "http://www.yahoo.com");
      link.textContent="yahoo";
      newdocument.appendChild(link);
      
      newdocument.appendChild(newdocument.createElement("br"));
      

      或者,可能可以只写入文档元素的 innerHtml。

      【讨论】:

        【解决方案3】:

        这看起来像您正在寻找的东西。

        http://mesh.typepad.com/blog/2004/11/creating_a_new_.html

        var myUrl = "http://mesh.typepad.com";
        var tBrowser = document.getElementById("content");
        var tab = tBrowser.addTab(myUrl);
        

        这会在每次运行时创建一个新选项卡 - 您可以像这样更新预先存在的选项卡的 url:

        var uri = "http://mesh.typepad.com";
        tBrowser.getBrowserForTab(tab).loadURI(uri);
        

        最后,您应该可以将焦点设置到新标签页:

        tBrowser.selectedTab = tab;
        

        【讨论】:

        • 感谢您的回复
        猜你喜欢
        • 1970-01-01
        • 2013-11-30
        • 2010-09-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-04
        相关资源
        最近更新 更多