这是 Javascript 在单个线程上线性执行的问题。
使用
setTimeout(function(){},time);
Run Code Online (Sandbox Code Playgroud)
被评估并function()立即执行。
我正在寻找一种function()在 x 秒内执行的方法,例如在从 ajax 调用更新 dom 之后。
这是怎么做的?
换句话说,只需要“暂停”脚本,然后让它知道何时执行。
为了清楚起见,如果您在 function() 中做了类似的事情;
var a= document.getElementbyId("anid").innerHTML;
Run Code Online (Sandbox Code Playgroud)
var a 将在处理 setInterval 时收集,而不是在函数执行时的 x 秒内收集。
谢谢...
我的iframe有一个变量.我想访问持有iframe的文档并使用javascript中定义的变量进行播放.
例如
<html>
<head>
<script>var a=0;</script>
</head>
<body>
<iframe id=playmate src="document2.htm" height="150px" width="100%" scrolling="no"
border="0" frameborder="0"></iframe>>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
现在在document2.htm中我有一个需要访问和操作var a的脚本.我可以直接访问它,使用jquery或普通的vanilla javascript吗?
它不是跨域iframe.诺言.相同的域名.希望他们能够很好地一起玩.
在过去,我曾经通过获取变量将一个文档中的隐藏输入插入另一个文档来实现这一点,但随着ajax的出现以及我想知道我是否可以操作它.
所以以前会把一个函数写入文档的头部,如果我的var做了什么,我在playmate document2中的隐藏输入会更新.然后document2可以使用隐藏的输入,每个人都很高兴.当document2使用变量进行播放时,它会将结果插入到保留文档中的隐藏输入中,然后var a可以使用新结果正确播放.
我想知道playmate document2现在是否可以在脚本中使用var a而不必进行隐藏输入.会非常令人兴奋.
任何人有任何想法如何去做?我正在使用jquery,如果这会使它更容易.
我尝试在document2中使用这个脚本:
var c=window.document.parent.a;
Run Code Online (Sandbox Code Playgroud)
但是当我输出var c时,它会告诉我它的数量.烦.请帮忙.或者我必须使用隐藏的输入法.