【问题标题】:how to get the returned value of a Javascript function executed at an HTML page如何获取在 HTML 页面上执行的 Javascript 函数的返回值
【发布时间】:2015-02-26 23:59:57
【问题描述】:

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

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

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

【问题讨论】:

    标签: javascript ieaddon


    【解决方案1】:

    根据这个页面:

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-05
        • 1970-01-01
        • 2021-02-07
        • 2014-04-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多