Как вызвать ссылку на JavaScript с боковой панели Firefox? - PullRequest
1 голос
/ 05 декабря 2010

веб-сайт в основном документе содержит файл javascript с использованием следующего оператора:

<script src="/somescript.js" type="text/javascript"></script> 

На веб-сайте также имеется ссылка, которая выполняет функцию javascript, определенную в включенном файле.Это выглядит так:

<a href="javascript:functionname('parm1', 'parm2');" <img src="http://.../button.png" id="pushme" alt="" height="80" width="200"> </a>

Как я могу выполнить functionname('parm1', 'parm2'); в контексте основного документа с боковой панели Firefox?
Что я пробовал до сих пор: mainWindow[functionname], чтобы получитьуказатель на функцию js, но она всегда возвращает ноль, даже если страница была загружена полностью.(Это происходит из-за того, что источник javascript включен из отдельного файла?) contentDocument.getElementById("parentdiv").getElementsByTagName('a')[0].click();, чтобы вызвать метод, но щелчок не представляется доступным.(Есть ли способ заставить ссылку щелкнуть () - можно?)

Или есть другой способ выполнить функцию js?
Спасибо за вашу поддержку!

1 Ответ

1 голос
/ 05 декабря 2010

вы не можете получить дескриптор окна, потому что это не переменная экземпляра текущего окна. Вы можете получить ссылку на окно, используя window.open() и сохраняя полученный дескриптор в переменной.

Что я пробовал до сих пор: mainWindow [имя функции], чтобы получить указатель на функцию JS, но это всегда возвращает ноль, даже если страница был загружен полностью. (Является ли это произойдет, потому что источник JavaScript входит в отдельный файл?

Неважно, откуда файл включен, эта функция возникает в памяти браузера, когда ее определение выполняется.

Чтобы сделать ссылку «кликабельной», вы можете просто вызвать ее с помощью дескриптора окна:

var myWindow = window.open("foo.html");

<a href="javascript:myWindow.functionname('parm1', 'parm2');"> 

Конечно, мы не должны использовать встроенный javascript, но это хорошо для быстрого примера. :)

...