2

是否可以编写无论网站上的其他 JS 代码是否失败都能运行的 Javascript?根据我目前的经验,一旦 JS 抛出错误,所有其他应该继续执行的代码都不起作用。有没有可能写出永远有效的东西?我也无法控制网站上的所有 JS 代码。

想法?

4

1 回答 1

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 在他的 fiddle 中展示的那样,框架脚本中的失败只会中止其执行。处理错误后(通常将其记录到控制台),浏览器将继续处理下一个script元素。

于 2012-05-11T15:21:06.017 回答