Browse Source

Update the JS-CSS injector to avoid null dereference.

pull/3202/head
TheGoddessInari 7 years ago
parent
commit
313eec8e22
  1. 2
      app/ux/WebView.js

2
app/ux/WebView.js

@ -405,7 +405,7 @@ Ext.define('Rambox.ux.WebView',{
console.info(me.type); console.info(me.type);
console.log(custom_css); console.log(custom_css);
let js_before = '{let mystyle=`'; let js_before = '{let mystyle=`';
let js_after = '`,mycss=document.createElement("style");mycss.type="text/css",mycss.styleSheet?mycss.styleSheet.cssText=mystyle:mycss.appendChild(document.createTextNode(mystyle));let myDocHead=document.head;myDocHead.boxStyled||(myDocHead.appendChild(mycss),myDocHead.boxStyled=!0);let myframes=document.getElementsByTagName("iframe");for(let myframe of myframes){let mydocument,mydochead=(myframe.contentDocument||myframe.contentWindow.document).head;if(!mydochead.boxStyled){let myclonedcss=mycss.cloneNode(deep=!0);mydochead.appendChild(myclonedcss),mydochead.boxStyled=!0}}}'; let js_after = '`,mycss=document.createElement("style");mycss.type="text/css",mycss.styleSheet?mycss.styleSheet.cssText=mystyle:mycss.appendChild(document.createTextNode(mystyle));let myDocHead=document.head;null==myDocHead||myDocHead.ramboxStyled||(myDocHead.appendChild(mycss),myDocHead.ramboxStyled=!0);let myframes=document.getElementsByTagName("iframe");for(let myframe of myframes){let mydocument,mydochead=(myframe.contentDocument||myframe.contentWindow.document).head;if(null!=mydochead&&!mydochead.ramboxStyled){let myclonedcss=mycss.cloneNode(deep=!0);mydochead.appendChild(myclonedcss),mydochead.ramboxStyled=!0}}}';
webview.executeJavaScript(js_before + custom_css + js_after); webview.executeJavaScript(js_before + custom_css + js_after);
} }
} }

Loading…
Cancel
Save