0

我想执行一些 javascript,它是我通过 AJAX 下载的 html 的一部分。下载后我调用eval所有脚本标签。有没有办法操纵this指针并让它指向我定义的东西(例如下载的 AJAX blob)。我需要这个的原因是我需要对HTML仅下载的内容进行一些下载后处理。现在我通过为 AJAX 父元素分配一个 ID 并让脚本首先getElementById对该元素进行查找 () 来做到这一点。只要 id 是唯一的,但在我的情况下很难执行,这就可以了。

我当前的代码如下所示:

    if (element.children[i].tagName=="SCRIPT")
    {
        eval(element.children[i].innerHTML);
    }

我希望this指针innerHTML指向element. 任何人?

4

2 回答 2

2

您可以使用Function.applyFunction.call。请注意,图元 ( 42, true, "foo") 将被装箱。

于 2012-05-13T17:25:42.197 回答
0

我觉得更干净。

if (element.children[i].tagName=="SCRIPT")
{
    eval.call(element, element.children[i].innerHTML);
}
于 2017-01-27T20:23:11.787 回答