javascript - Modifying nonexistant DOM elements in WKWebView -


i'm displaying webpage in wkwebview. hide elements header or sidebars, i'm applying javascript. problem i'm using 1 script various pages of same site, , page elements different different types of pages. if this:

    let scripturl = nsbundle.mainbundle().pathforresource("myscript", oftype: "js")     let scriptcontent = string(contentsoffile:scripturl!, encoding:nsutf8stringencoding, error: nil)     let script = wkuserscript(source: scriptcontent!, injectiontime: .atdocumentend, formainframeonly: true)     config.usercontentcontroller.adduserscript(script) 

document.getelementbyid("header").style.display = "none"; 

for nonexistent element, errors out , rest of javascript doesn't applied.

you'll have check see whether or not element valid before proceeding. instead of putting if statements everywhere, can define function so:

var setelementdisplaystyle = function(id, style) {   var element = document.getelementbyid(id);   if(element) element.style.display = style; } 

usage:

setelementdisplaystyle("header", "none"); 

Comments