将长javascript code
转换为string
的任何简单函数?
Electron - WebContents.executeJavaScript(code)的code
参数需要是一个字符串。我想将一个简单的javascript函数传递给Browser-Window
加载的所有网页。
这条小线有效:
WebContents.executeJavaScript("console.log('FOO');");
但是一旦代码变长,它就会变得更加困难。
这是我要插入的一个特定代码块。
var ta_arr = document.getElementsByTagName("textarea");
for(var i=0;i<ta_arr.length;i++){
var ta = ta_arr[i];
if(ta.hasAttribute("placeholder")){
ta.setAttribute("data-placeholder",ta.placeholder);
ta.addEventListener('keyup',function(e){
if(ta.value.length > 0){
ta.removeAttribute("placeholder");
}else{
ta.placeholder=ta.getAttribute("data-placeholder");
}
},false);
}
}
当用户在其上键入时,Browser-Window的textarea占位符不会消失。因此,我不想将上面的代码放到我的应用源文件中,而是使用WebContents.executeJavaScript
,因为它是Electron
特定的问题。
答案 0 :(得分:0)
给它一个旋转
<script id="myScript">
var ta_arr = document.getElementsByTagName("textarea");
for(var i=0;i<ta_arr.length;i++){
var ta = ta_arr[i];
if(ta.hasAttribute("placeholder")){
ta.setAttribute("data-placeholder",ta.placeholder);
ta.addEventListener('keyup',function(e){
if(ta.value.length > 0){
ta.removeAttribute("placeholder");
}else{
ta.placeholder=ta.getAttribute("data-placeholder");
}
},false);
}
}
</script>
<script>
var s = document.getElementById('myScript');
var text = s.textContent;
console.log(text);
</script>