簡體   English   中英

如何確保在頁面繼續之前加載一些js文件

[英]How can i make sure that some js files are loaded before the page continue

嗨,我想嘗試將偉大的syntaxhighlighter插入asp .net頁面,但每次有錯誤說“dp未定義”。

我認為它在下載腳本之前到達調用部分,如何在繼續之前確保文件已加載?

謝謝

多倫

編輯:這是我在我的aspx文件中使用的代碼,它作為常規HTML工作正常,但是當我嘗試在aspx文件中使用時,它表示'dp is undefined'

<link type="text/css" rel="stylesheet" href="App_Data/Styles/SyntaxHighlighter.css"></link>
    <script type="text/javascript" src="App_Data/Scripts/shCore.js"></script> 
    <script type="text/javascript" src="App_Data/Scripts/shBrushCpp.js"></script> 
    <script type="text/javascript" src="App_Data/Scripts/shBrushCSharp.js"></script> 
    <script type="text/javascript" src="App_Data/Scripts/shBrushCss.js"></script> 
    <script type="text/javascript" src="App_Data/Scripts/shBrushJava.js"></script> 
    <script type="text/javascript" src="App_Data/Scripts/shBrushJScript.js"></script> 
    <script type="text/javascript" src="App_Data/Scripts/shBrushPhp.js"></script> 
    <script type="text/javascript" src="App_Data/Scripts/shBrushPython.js"></script> 
    <script type="text/javascript" src="App_Data/Scripts/shBrushRuby.js"></script> 
    <script type="text/javascript" src="App_Data/Scripts/shBrushSql.js"></script> 
    <script type="text/javascript" src="App_Data/Scripts/shBrushXml.js"></script>
        <script type="text/javascript"> 
        window.onload = function() {
            dp.SyntaxHighlighter.ClipboardSwf = 'http://aaron-mueller.de/vendor/dp_syntax_highlighter/Scripts/clipboard.swf';
            dp.SyntaxHighlighter.HighlightAll('code');
        }
    </script> 

實際上,如果按正確順序放置腳本,一切都應該正常工作:

<script src=".../highlighter.js"></script> 
<script>   
   highlighter.doAnything();
</script>

但它可能會發生,熒光筆會自己注入<script>標簽,在這種情況下,Jakub的解決方案應該有所幫助:在文檔加載時執行所有操作。

使用其中之一

window.onload = function(){highlighter.doAnything();}

事件或(如果使用jQuery)

$(function(){ 
   highlighter.doAnything();
});

把呼叫部分放在里面

$(function(){
 // your code goes here
})

如果你正在使用jQuery

HTML頁面將按順序執行; 因此,如果你有一個

<script src="Something.js"></script>

在您的頁面中標記,您需要確保在您點擊加載程序之前沒有代碼試圖調用它。 在動態加載一組javascript文件的情況下,通常有一個注入點,您可以在加載完成時插入回調。

如果所有其他方法都失敗了,您始終可以使用setTimeout將執行推遲到您認為應該完全加載腳本的指定時間。

暫無
暫無

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

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