是否可以更改webview内容的样式?
问题描述:
我想在我的electron应用程序中加载webview
,然后调整对象内容的样式。无论是通过JS还是CSS都无关紧要,我只想在webview
内部能够使用.hide()
或visibility: none
元素。是否可以更改webview内容的样式?
这可能吗?事实证明很难发现。谢谢!
答
我假设你运行的是最新版本的电子,因此基于网页视图documentation我想你可以试试这个:
插入CSS
//Append CSS code do page
var myWebview = ;// your webview definition
myWebview.insertCSS("body{background:#000}");
或者你可以使用运行JavaScript代码executeJavascriptCode
var myWebview = ;// your webview definition
myWebview.executeJavaScript("$('.mySelector').hide();");
但在这两种情况下,我建议你阅读文件内容,并把它作为函数参数或使用executeJavascriptCode
将您的文件附加到您的webview
。检查下面的例子:
// appending javascript code
var scriptPath = __dirname + '/path/to/script.js';
var myWebview = ;// your webview definition
myWebview.executeJavaScript('document.write(\'<script src="' + scriptPath + '"></script>\');');
// appending CSS code
var cssPath = __dirname + '/path/to/stylesheet.js';
var myWebview = ;// your webview definition
myWebview.executeJavaScript('document.write(\'<link rel="stylesheet" type="text/css" href="' + cssPath + '">\');');
希望它有帮助。
祝你好运!
是的,我看到了,不适合我。 :( – Sjael
你能为我发布一些代码吗?比将更容易检查发生了什么 –