Я пытаюсь написать скрипт tampermonkey и хочу вызвать функцию javascript, предоставляемую веб-страницей.
HTML-код страницы выглядит следующим образом:
<ui-button class="action-button-spacing" id="downloadAs" variant="normal" text="Download as" click="openDownloadAsPanel()" data-disabled="actionButtonsDisabled()" initialized="true"><button class="ui-button ui-button-size-normal ui-button-variant-normal ui-hover-child-icons" type="submit"><span region-container="text">Download as</span></button></ui-button>
Мой скрипт создает кнопку на странице, и я хочу, чтобы он вызывал метод openDownloadAsPanel, определение которого находится в файле JS (не является частью файла HTML).
Для этого я попробовал это:
function addFunction(func, exec) {
var script = document.createElement("script");
script.textContent = "-" + func + (exec ? "()" : "");
document.body.appendChild(script);
document.body.removeChild(script); // clean up
}
function myFunction () {
return openDownloadAsPanel();
}
А затем по нажатию кнопки, созданной мной, добавить функцию (myFunction, true);
Я получаю сообщение об ошибке: openDownloadAsPanel
не определено
Также я не знаю файл файла javascript, так как он обслуживается облачным фронтом, и имя постоянно меняется, если файл меняется. Или, возможно, мне придется проанализировать все имя / путь файла javascript, записанные в файле HTML.