使用他们的 Progressive Enhancement enhance.js库查看来自 Filament Group 的演示
修改为:-
<script type="text/javascript" src="../_shared/EnhanceJS/enhance.js"></script>
<script type="text/javascript">
// Run capabilities test
enhance({
loadScripts: [
{src: 'js/excanvas.js', iecondition: 'all'},
'../_shared/jquery.min.js',
'js/visualize.jQuery.js',
'js/example.js'
],
loadStyles: [
'css/visualize.css',
'css/visualize-dark.css'
]
});
alert($);
</script>
我在警报中收到“$ is undefined error”,大概是因为 jQuery 尚未加载。
注意 - alert($) 仅用于调试 - 我正在尝试用它做一些事情,例如 $('some-selector') - 并且没有 $(handler) 或 $(document).ready 等也不起作用 - jquery 未加载,$ 未定义。
增强的onScriptLoaded看起来应该可以解决问题,但如果我添加
onScriptsLoaded:[runMyCode()]
然后
function runMyCode()
{
alert("runMyCode was called");
alert($);
}
第一个警报有效,但 $ 仍未定义。
如果我在按钮的单击事件上调用 runMyCode,它确实有效。
所以问题是 - 一旦所有脚本都完成了enhanced.js的加载,你如何运行代码?
PS 在 IE8/FF3/Chrome7 中验证了同样的问题