HTML/JavaScript Script Injection Exception
我试着写一本书,这要看另一个剧本。为此,我的书签包含如下功能:
1 2 3 4 5 6 7 8 | function load(url, callback) { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = url; script.async = false; script.onload = callback; document.head.appendChild(script); } |
回调函数在大多数页面上调用,但在某些页面上,我在控制台中得到以下异常,并且脚本没有加载(Facebook.com就是一个例子)。
Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE)
书签示例:
javascript:function%20load(url,callback){var%20script=document.createElement('script');script.type='text/javascript';script.src=url;script.onload=callback;document.head.appendChild(script);}load('http://code.jquery.com/jquery-1.11.1.min.js',function(){console.log('Loaded');})
我在Ubuntu 12.04上使用了火狐29。如果执行,控制台中应该出现"已加载"。第一次加载时,可以在控制台中看到对资源的附加访问。但是正如上面在facebook.com上写的那样,什么都没有发生。既没有加载脚本,也没有调用回调。
很可能是由于书签本身的xss。FF 35.0不再有错误,并显示格式良好的消息。