我的母版页中有以下脚本: -
<script type= "application/javascript">
document.getElementById("currentdate").innerHTML = EMBEDformatAMPM();
var myVar=setInterval(function(){myTimer()},30000);
function myTimer()
{
document.getElementById("currentdate").innerHTML = EMBEDformatAMPM();
}
//code goes here
}</script>
但我面临的问题是脚本将在(currentdate").innerHTML
加载之前运行,并且脚本将引发空引用异常,所以我的问题基本上是关于如何强制javaScript在运行之后运行页面加载。?
感谢
修改
我的jQuery文件引发了以下错误,不确定原因: -
Error: Syntax error, unrecognized expression: unsupported pseudo: visited
答案 0 :(得分:1)
对于非jQuery解决方案:
window.onload = function(){
YOUR CODE HERE;
};
对于jQuery解决方案:
$(document).ready(function(){
CODE HERE;
});
问候
答案 1 :(得分:1)
使用jQuery,这非常简单:
$(document).ready(function(){
// Your code here.
});
有几种方法可以在没有jQuery的情况下完成它,尽管这些方法更复杂。其中一些最好的可用作StackOverflow上此问题的答案:$(document).ready equivalent without jQuery
修改(解决问题编辑): 如果您还在使用jQuery,请考虑将以上内容重写为以下内容:
<script type= "application/javascript">
$("#currentdate").html(EMBEDformatAMPM());
var myVar = setInterval(function(){myTimer()},30000);
function myTimer()
{
$("#currentdate").html(EMBEDformatAMPM());
}
</script>
如果这部分需要等到文档准备就绪,那么它还应该包含围绕它的代码:
<script type= "application/javascript">
$(document).ready(function(){
$("#currentdate").html(EMBEDformatAMPM());
var myVar = setInterval(function(){myTimer()},30000);
function myTimer()
{
$("#currentdate").html(EMBEDformatAMPM());
}
});
</script>
答案 2 :(得分:0)
由于Jquery是您问题中的标签之一,因此您可以使用:
$(document).ready(function(){
//your code to run
});
答案 3 :(得分:0)
如果您将内联脚本放在结束标记之前,或者在为#currentdate
编写HTML之后,您的代码应该运行良好。如果没有,请告诉我。
抛出JavaScript错误的原因是因为不再支持:visited
伪选择器。该功能允许网站跟踪用户,并且出于某些隐私原因已被删除。
您可以详细了解here。
不用担心,有一个解决方法。您可以使用visited plugin by Remy Sharp。如果您仅仅为了样式目的而使用:visited
,请将其删除,除非有必要。