Javascript - писать ссылки на новые вкладки

Используя Javascript в расширении Firefox, я открыл новую вкладку. Я не знаю, как я могу написать ссылку на 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
";

но это работает только когда я использую отладчик

Есть идеи, почему?

Спасибо


person Lilz    schedule 01.06.2009    source источник


Ответы (3)


Из вашего вопроса не очень понятно, что вы хотите. Может быть, что-то вроде:

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();

???

person danio    schedule 01.06.2009

Я не верю, что вы можете использовать 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 элемента документа.

person Cyphus    schedule 01.06.2009

Это похоже на то, что вы ищете.

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;
person Cyphus    schedule 01.06.2009
comment
спасибо за ваш ответ, меня больше беспокоит отображение всего списка ссылок на вкладке, и пользователь выбирает одну из них - person Lilz; 01.06.2009