在WP8上,如果我执行(1):
Microsoft.Phone.WebBrowser wb;
wb.InvokeScript("eval", "window.external.notify('abc');");
Run Code Online (Sandbox Code Playgroud)
它抛出'调用目标返回错误',未知错误,hresult 80020101.但是(2)
wb.InvokeScript("eval", "window.alert('abc');");
Run Code Online (Sandbox Code Playgroud)
工作正常,并显示消息框.
(3)
wb.InvokeScript("eval", "( function (){window.external.notify('abc');})();");
Run Code Online (Sandbox Code Playgroud)
也工作正常.
我的问题是,window.external.notify()阻止eval直接调用它是什么?它是一个函数调用,如window.alert(),因此它应该是一个有效的脚本.但是如果在1)中有一些关于未经修饰的呼叫的特殊内容,那为什么3)中的包裹呼叫有效?
我知道eval()是所有邪恶的根源,我已经阅读了与函数定义的eval()问题相关的其他SO帖子.(如果没有SO,我们会在哪里?)但这显然是一个不同的问题.
我正在尝试通过(非 Tiny)Go 生成带有 DWARF 调试信息的 wasm 二进制文件。尽管构建进行了多次迭代,gimli/dwarfdump仍然显示空的调试数据部分(尽管当指向本机 linux Go 可执行文件时它显示非空调试数据)。
我不知道是否存在工具错误,或者我只是做错了,非常感谢您的评论。
以这种方式运行构建:
GOOS=js GOARCH=wasm go build -a -work -x -gcflags="-N -dwarf=true -dwarflocationlists=false" -ldflags="-w=false" -o mmm . >build2.log 2>&1
Run Code Online (Sandbox Code Playgroud)
(大量实验表明我必须指定这些-cflags并-ldflags覆盖硬编码的默认构建正在为编译和链接工具提供...)
观察日志文件似乎使用正确的选项调用工具:
--- snip ---
/usr/local/go/pkg/tool/linux_amd64/compile -o $WORK/b001/_pkg_.a -trimpath "$WORK/b001=>" -p main -lang=go1.14 -complete -buildid wrV2MKYl_2wAOfC9V6TW/wrV2MKYl_2wAOfC9V6TW
-dwarf=false -goversion go1.19.4 -N -dwarf=true -dwarflocationlists=false -nolocalimports -importcfg $WORK/b001/importcfg -pack ./0_components_vgen.go ./generate.go ./main_wasm.go
--- snip ---
/usr/local/go/pkg/tool/linux_amd64/link -o $WORK/b001/exe/a.out -importcfg $WORK/b001/importcfg.link -buildmode=exe -buildid=NCMJg-CFGnRWYpYW5of2/wrV2MKYl_2wAOfC9V6TW/KT0X-n_LvOuN7jmi-7Tt/NCMJg-CFGnRWYpYW5of2 -extld=gcc -w=false $WORK/b001/_pkg_.a
/usr/local/go/pkg/tool/linux_amd64/buildid -w $WORK/b001/exe/a.out # …Run Code Online (Sandbox Code Playgroud) 既然pywin32可以在pip中使用,从较早版本(安装了本地MSI的版本)升级到PIP最新最大的平滑途径是什么?
如下所述,我的PIP不会卸载旧版本。
======= C:\Users\bobhy
> pip list
Package Version
--------------- -------
. . .
pip 10.0.1
pywin32 221
. . .
======= C:\Users\bobhy
> pip install pywin32==223
Collecting pywin32==223
Using cached https://files.pythonhosted.org/packages/9f/9d/f4b2170e8ff5d825cd4398856fee88f6c70c60bce0aa8411ed17c1e1b21f/pywin32-223-cp36-cp36m-win_amd64.whl
Installing collected packages: pywin32
Found existing installation: pywin32 221
Cannot uninstall 'pywin32'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
Run Code Online (Sandbox Code Playgroud)