IE 9 BHO插件。加载外部JS文件时出错SCRIPT1014

时间:2012-08-29 07:24:14

标签: c# javascript internet-explorer-9 bho add-on

我尝试使用.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,所以没有阅读问题..还有别的东西

出了什么问题?有任何想法吗? 提前谢谢!

1 个答案:

答案 0 :(得分:0)

  1. 尝试以“UTF-8无BOM”编码重新保存JS
  2. 尝试将JS作为http://example.com/test.js
  3. 放置到远程服务器