1

我正在尝试使用 csharp 为 Internet Explorer 浏览器开发一个插件,并尝试将 javascript 注入到加载的页面。要注入 javascript,我使用了以下代码。代码被注入并且警报工作正常。但下面给出的代码应该将“msg”的值返回到输出。当我运行此代码时,我得到空值作为输出。请帮助。

var output= HTMLDocument.parentWindow.execScript("msg()","JScript");

function msg(){
    var msg = "This is sample";
    alert(msg);
    return msg;
}
4

2 回答 2

1

根据此页面:

https://msdn.microsoft.com/en-us/library/ie/ms536420%28v=vs.85%29.aspx

execCode方法返回某种空值。eval如果您想要 的值,请使用msg()

于 2015-02-26T15:19:19.317 回答
0

IE 无法评估函数(可能是出于安全原因)。

最好的解决方法是将函数放在一个数组中,如下所示:

var func = eval('[' + funcStr + ']')

于 2015-02-26T15:59:57.877 回答