是否可以编写无论网站上的其他 JS 代码是否失败都能运行的 Javascript?根据我目前的经验,一旦 JS 抛出错误,所有其他应该继续执行的代码都不起作用。有没有可能写出永远有效的东西?我也无法控制网站上的所有 JS 代码。
想法?
是否可以编写无论网站上的其他 JS 代码是否失败都能运行的 Javascript?根据我目前的经验,一旦 JS 抛出错误,所有其他应该继续执行的代码都不起作用。有没有可能写出永远有效的东西?我也无法控制网站上的所有 JS 代码。
想法?
是的,但需要一些努力。想象一下,您正在使用一些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 在他的 fiddle 中展示的那样,框架脚本中的失败只会中止其执行。处理错误后(通常将其记录到控制台),浏览器将继续处理下一个script
元素。