我有这个webview,我加载如下:
<webview id="link-view"
src="http://url.espace.com/"
preload="./preload.js"
autosize="on"
partition="persist:link"></webview>
在preload.js文件中:我有这个
console.log("test");
这甚至不起作用..
有人可以解释一下吗?
答案 0 :(得分:6)
我刚刚尝试了相同的方案,它按预期工作。
您是否打开了<webview>
开发工具?由于<webview>
有自己的开发工具,这是我可以看到preload脚本没有显示console.log
输出的唯一原因。它们可以通过以下方式打开:
var webview = document.getElementById("link-view");
webview.openDevTools();
或者你的脚本路径不正确,我怀疑你是否确定这一点。
答案 1 :(得分:2)
在撰写本文时,使用最新Electron 2.0.0(beta-5
),preload
属性需要file:
(或asar:
)协议,一条绝对的道路。 ./preload.js
之类的路径似乎不再起作用并引发异常:Only "file:" protocol is supported in "preload" attribute.