Javascript - писать ссылки на новые вкладки - PullRequest
0 голосов
/ 01 июня 2009

Используя 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
";

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

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

Спасибо

Ответы [ 3 ]

1 голос
/ 01 июня 2009

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

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

???

1 голос
/ 01 июня 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 элемента документа.

0 голосов
/ 01 июня 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...