我尝试使用.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 Developer Tools中看到我的test.js附加到页面。但是函数eee()没有引发,我有一个错误: " SCRIPT1014:字符无效 test.js,第1行,第1个字符"
test.js:
function eee()
{
alert('ttt!');
};
test.js是UTF-8,所以没有阅读问题..还有别的东西
出了什么问题?有任何想法吗? 提前谢谢!