3

我正在尝试使用 .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 附加到页面。但是函数eee()没有引发,我有一个错误:“SCRIPT1014:无效字符test.js,第1行,字符1”

测试.js:

function eee()
{
    alert('ttt!');
};

test.js 是 UTF-8,所以没有阅读问题.. 还有别的

怎么了?有任何想法吗?提前致谢!

4

1 回答 1

0
  1. 尝试以“UTF-8 without BOM”编码重新保存 JS
  2. 尝试将 JS 作为http://example.com/test.js放置到远程服务器
于 2012-09-06T09:32:06.540 回答