我正在尝试使用.Net和BHO创建简单的Internet Explorer 9插件,以在页面上加载外部js文件并执行它。
我创建了ieInstance_DownloadComplete(我也尝试过ieInstance_DocumentComplete,但情况更糟)事件处理程序:
InternetExplorer explorer = this.ieInstance;
var document = explorer.Document as IHTMLDocument2;
document.parentWindow.execScript(
@"
if (document.getElementById('KCScript') == null)
{
var fileref=document.createElement('script');
fileref.setAttribute('id', 'KCScript');
fileref.setAttribute('type','text/javascript');
fileref.setAttribute('charset', 'UTF-8')
fileref.setAttribute('src', 'C:/test.js');
fileref.onload = function () { eee(); };
if (typeof fileref!='undefined')
document.getElementsByTagName('head')[0].appendChild(fileref);}","JavaScript");
}
当页面加载时,我可以在IE开发者工具中看到我的test.js附加到页面上。但是函数ee()没有引发,我有一个错误:"SCRIPT1014:无效字符test.js,第1行,字符1"
test.js:
function eee()
{
alert('ttt!');
};
test.js是UTF-8,因此不存在读取问题。。还有其他
怎么了?有什么想法吗?提前感谢!
- 尝试以"UTF-8无BOM"编码重新保存JS
- 尝试将JS作为http://example.com/test.js