公司的網頁代碼需要測試,因後端擋板工具問題只能在瀏覽器里進行。但是在瀏覽器里打開時比在客戶端打開時少了一些必要的參數(放在PJF里)。需要在初始化時放進去。不可能把所有頁面改一下吧。最後我發現所有頁面都載入了sealUtils.js工具函數。於是我寫了一個自執行函數在放在sealUtils.js前。 ...
公司的網頁代碼需要測試,因後端擋板工具問題只能在瀏覽器里進行。但是在瀏覽器里打開時比在客戶端打開時少了一些必要的參數(放在PJF里)。需要在初始化時放進去。不可能把所有頁面改一下吧。最後我發現所有頁面都載入了sealUtils.js工具函數。於是我寫了一個自執行函數在放在sealUtils.js前。在其中載入另外的js文件來將參數放入PJF。這樣頁面js初始化時就不會報錯了。
遇到的困難是讓其在頁面載入好後在其他所有的函數執行前第一個執行。沒辦法只能使用jquery的$(document).ready(function(){ ... })。我把載入函數loadScript函數直接放在read里導致出錯。樣式:$(document).ready(loadScript("url")); 因為這相當於直接調用loadScript()而不是等頁面dom準備好後再載入。此時有document還沒有body。document.body.appendChild(script)當然出錯了。最後改成$(document).ready( function(){ loadScript("url")} ),將自己的函數放在jquery的回調函數里就可以了。
(function(){
var loadScript = function(url){
var script = document.createElement("script");
script.type = "text/javascript";
script.src = url;
document.body.appendChild(script);
}
$(document).ready(function(){
loadScript("/a/script/info.js"); // 記得放在$(function(){ 放這兒 })的回調里
});
})()