簡體   English   中英

加載外部文件,然后從文件運行功能

[英]Load external file then run function from file

我正在嘗試從JS加載另一個JS文件(因為url可能會根據用戶選擇的內容而變化,並且加載兩者都會導致沖突問題),然后在加載文件后立即從文件中運行函數。 我需要運行一個函數,我不能只運行代碼,因為該函數需要客戶端輸入。 我怎樣才能做到這一點?

在此示例中,我沒有包括動態URL部分,因為它可以工作。 另外,一次沒有嘗試2次。 我分別測試了它們。 他們都沒有工作。 這是我嘗試過的:

var url="file.js", script = document.createElement('script');
script.setAttribute('src',url);
script.setAttribute('id','option');
document.head.appendChild(script);

// code attempt 1 at loading the function:
fileInit(param1);

// code attempt 2:
document.getElementById("option").onload = fileInit(param1);

// code attempt 3:
script = document.getElementById("option");
script.onload = script.onreadystatechange = fileInit(param1);

// code attempt 4:
document.getElementById("option").addEventListener("load", fileInit(param1));

我只是想加載的文件是JS(所以我可以有一個動態URL),然后在加載文件時運行文件中定義的init函數。 我也不想使用jQuery。 我希望代碼是Vanilla JS。 我知道您可以使用jQuery.getScript()。

在兩個文件中,您都應具有以下語句exports.__esModule = true; 在導出文件中,對要導出導出的每件商品執行此操作exports.thingToExport = thingToExport; 然后您像這樣導入:

var file = require("path/to/file");
file.thingToExport;

編輯:這個問題解釋了你在打字稿中做什么來獲得這個節點代碼。這在現代瀏覽器中也可以從另一個js文件導入功能,並且可能是重復的。

暫無
暫無

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

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