小编Bob*_*bHy的帖子

javascript eval()失败,使用window.external.notify(),与window.alert()一起使用

在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,我们会在哪里?)但这显然是一个不同的问题.

javascript internet-explorer-10 windows-phone-8

13
推荐指数
1
解决办法
1744
查看次数

从 go 在 wasm 二进制文件中生成 DWARF 调试信息?

我正在尝试通过(非 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)

go webassembly

10
推荐指数
0
解决办法
388
查看次数

通过pip升级PYWIN32-错误无法卸载...由distutils安装...''

既然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)

python pip pywin32

6
推荐指数
2
解决办法
2796
查看次数