javascript - 如何阻止 iframe 阻塞我的 JS?

标签 javascript html iframe pageload

我有一个页面同时使用了 unofficial github buttons ,以及我使用此 syntax highlighter 突出显示的代码.

问题是,这两个 github 按钮是 iframe,它们都向 api.github.com 发出请求,它们有时可能需要一段时间才能加载。

当按钮正在加载时(chrome 显示“正在等待 api.github.com”),语法高亮器的 javascript 无法执行。它在 iframe 完全加载之前不会执行,这有时可能需要很长时间。

我更喜欢没有 github 按钮,并且比先加载 github 按钮更快地突出显示我的代码。我怎样才能做到这一点?

我试过使用 javascript 异步加载按钮,但它们加载不正确,因为 iframe 中的 javascript 出于某种原因没有执行。

这是我加载 SyntaxHighlighter 的方式(在 <head> 中)

<script type="text/javascript" src="js/shCore.min.js"></script>
<script type="text/javascript" src="js/brushes.min.js"></script>
<script type="text/javascript">
SyntaxHighlighter.defaults['gutter'] = false;
SyntaxHighlighter.defaults['toolbar'] = false;
SyntaxHighlighter.all();
</script>

iframe HTML 如下所示:

<iframe src="http://markdotto.github.com/github-buttons/github-btn.html?user=user&amp;repo=repo&amp;type=watch&amp;count=true&amp;size=large" allowtransparency="true" frameborder="0" scrolling="0" width="165px" height="30px"></iframe>
<iframe src="http://markdotto.github.com/github-buttons/github-btn.html?user=user&amp;repo=repo&amp;type=fork&amp;count=true&amp;size=large" allowtransparency="true" frameborder="0" scrolling="0" width="165px" height="30px"></iframe>

如何阻止按钮阻止我的 JS?

最佳答案

你用 jquery deferred 试过吗?您可以在 http://www.erichynds.com/jquery/using-deferreds-in-jquery/ 找到示例

关于javascript - 如何阻止 iframe 阻塞我的 JS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11046892/

相关文章:

javascript - HTML中有没有办法设置水平绝对定位和垂直静态定位?

html - 嵌入式YouTube视频无法在Google Chrome浏览器中播放

iframe 中的 Javascript 日期选择器错误

javascript - 同一个 php 查询可以同时处理来自不同页面的 ajax 请求吗

javascript - 用重复n次的字符替换整数(n)

javascript - Node js 原型(prototype)对象 'self' var 没有为回调存储正确的上下文

html - 在 iframe 中隐藏边框

javascript - JS/node.js中匹配字符的行号

javascript - 如何获取侧边栏下拉列表中所有工作表的列表

jquery - 在 Jquery 弹出窗口中显示加载微调器