从tampermonkey脚本调用Javascript文件中的函数

时间:2018-06-28 05:51:47

标签: javascript tampermonkey greasemonkey-4

我正试图编写一个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();
}

然后单击由我创建的按钮,addFunction(myFunction,true); 我收到错误消息:openDownloadAsPanel未定义

我也不知道javascript文件的文件,因为它由cloudfront提供服务,并且如果文件更改,名称也会不断变化。也许我将不得不解析HTML文件中编写的所有javascript文件名/路径。

0 个答案:

没有答案