是否可以编写将运行的Javascript,无论网站上的其他JS代码是否失败?根据我的经验到目前为止,一旦JS抛出错误,所有其他代码应该继续它不起作用。是否有可能写出一些永远有效的东西?我也无法控制网站上的所有JS代码。
想法?
答案 0 :(得分:0)
是的,但需要一些努力。想象一下,您正在使用具有方法f
的某个框架x
。试试这个:
<script src="...."> // load the real "f"
<script>
if (type f === 'undefined') { f = {}; }
if (type f.x === 'undefined') { f.x = function() {}; }
....
</script>
如果远程脚本无法加载/执行,仍将定义f
。您的脚本中的检查确保您可以致电f.x
,而无需担心或淹没try{}catch
中的代码。
作为zzzzBov demonstrated in his fiddle,框架脚本中的失败只会中止其执行。处理完错误后(通常将其记录到控制台),浏览器将继续使用下一个script
元素。