如何确保在页面继续之前加载一些js文件

时间:2011-03-16 21:20:45

标签: c# javascript asp.net syntaxhighlighter

您好我正在尝试将优秀的syntaxhighlighter插入到asp .net页面中,但每次出现错误时都说“dp未定义”。

我认为在下载脚本之前它会进入调用部分,如何在继续之前确保文件已加载?

由于

多伦

编辑:这是我在我的aspx文件中使用的代码,它可以像常规HTML一样工作,但是当我尝试在aspx文件中使用时,它表示“dp未定义”

<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> 

3 个答案:

答案 0 :(得分:2)

实际上,如果按正确顺序放置脚本,一切都应该正常工作:

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

但是可能会发生,荧光笔会注入&lt; script&gt;标记自己,在这种情况下,Jakub的解决方案应该有所帮助:在文档加载上执行所有操作。

使用

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

事件或(如果使用jQuery)

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

答案 1 :(得分:0)

将调用部分放在

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

如果你正在使用jQuery

答案 2 :(得分:0)

HTML页面将按顺序执行;因此,如果你有一个

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

在您的页面中标记,您需要确保在您点击加载程序之前没有代码尝试调用它。在动态加载一组javascript文件的情况下,通常有一个注入点,您可以在加载完成时插入回调。

如果所有其他方法都失败了,您始终可以使用setTimeout延迟执行,并指定您认为应该完全加载脚本的时间。