【发布时间】:2017-05-24 04:58:10
【问题描述】:
我有一组网络爬虫式的函数,我用 Swift 编写,我正在使用 JavaScriptCore 库来......好吧,执行一些 JavaScript。我从网上抓取了一个文件,但它只有几个我感兴趣的功能。但是,文件的某些部分包含window 或window.currentScript 或new window.WeakMap 之类的内容...这些不幸的是,JavaScriptCore 中没有定义东西。
这是我遇到的错误之一,例如:
TypeError: undefined is not an object (evaluating 'window.document.currentScript.src.indexOf')
与此同时,我正在尝试做的事情是猴子补丁所有错误的事情,就像这样:
window={};window.document.currentScript.src={};window.document.currentScript.src.indexOf={}
并将其添加到 JS 中。不过,一定有更好的办法……对吧?
【问题讨论】:
-
我有使用正则表达式的想法——也许是这样的?
(new|var|)\s*window.*?(?=\s|;|\)|]|&&|\|\||:|})...它并不完美,但它可以工作(几乎而且通常)
标签: javascript ios swift javascriptcore