簡體   English   中英

從 tampermonkey 腳本調用 Javascript 文件中的 function

[英]Call a function in Javascript file from tampermonkey script

我正在嘗試編寫一個 tampermonkey 腳本並想調用網頁提供的 javascript function。 該頁面的 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();
}

然后是我創建的按鈕的 onclick,addFunction(myFunction, true); 我收到一個錯誤: openDownloadAsPanel

我也不知道 javascript 文件的文件,因為它由 cloudfront 提供服務,並且如果文件更改,名稱也會不斷更改。 或者可能我將不得不解析 HTML 文件中寫入的所有 javascript 文件名/路徑。

我認為您不能調用網頁運行的 function。 您最好的選擇可能是嘗試查看 function 中的代碼是什么,並使用相同的代碼定義您自己的 function。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM