webview的电子预载脚本不起作用?

时间:2016-03-19 15:27:00

标签: javascript webview electron

我有这个webview,我加载如下:

<webview id="link-view"
        src="http://url.espace.com/"
        preload="./preload.js"
        autosize="on"
        partition="persist:link"></webview>

在preload.js文件中:我有这个

console.log("test");

这甚至不起作用..

有人可以解释一下吗?

2 个答案:

答案 0 :(得分:6)

我刚刚尝试了相同的方案,它按预期工作。

您是否打开了<webview>开发工具?由于<webview>有自己的开发工具,这是我可以看到preload脚本没有显示console.log输出的唯一原因。它们可以通过以下方式打开:

var webview = document.getElementById("link-view");
webview.openDevTools();

或者你的脚本路径不正确,我怀疑你是否确定这一点。

答案 1 :(得分:2)

在撰写本文时,使用最新Electron 2.0.0beta-5),preload属性需要file:(或asar:)协议,一条绝对的道路。 ./preload.js之类的路径似乎不再起作用并引发异常:Only "file:" protocol is supported in "preload" attribute.