-
30-09-2019 - |
题
是否有一种方法可以消除所有CSS规则,一旦样式表已被加载?
我必须使用专有的JavaScript库(ESRI的ArcGIS服务器API)建在道场之上。我广泛使用了Dojo的小部件,并希望使用Dojo的Claro主题,但不幸的是,ESRI库通过加载异地CSS文件(以及JS中的CSS规则)来加载CSS。这最终融合了克拉洛主题。
如此多的Dojo小部件CSS课程被重写 并创建了新规则 这只是清除所有CSS并重新加载标准Dojo样式表似乎更容易/更安全。
像以下内容会很好:
* {none}
但是我认为我必须最终使用Dojo或jQuery来实现这一目标。
解决方案
查看保罗·爱尔兰(Paul Irish)的这个名为Refreshcss的书签:
javascript:(function(){var h,a,f;a=document.getElementsByTagName('link');for(h=0;h<a.length;h++){f=a[h];if(f.rel.toLowerCase().match(/stylesheet/)&&f.href){var g=f.href.replace(/(&|%5C?)forceReload=\d+/,'');f.href=g+(g.match(/\?/)?'&':'?')+'forceReload='+(new Date().valueOf())}}})()
它可以在页面上刷新CSS样式表,而无需刷新页面本身。
我认为您可以对此进行一些改动,并让它做您想做的事?
使用jQuery可能有效的另一种方法是在该页面加载后运行此操作:
$('head link, head style').remove();
其他提示
没有。可悲的是,这样的事情不存在。
这些相关问题的答案几乎可以使解决方法的可能性。
总是有 document.head.innerHTML = "";
但它 真的 清洁房屋,因此您必须存储任何脚本,元数据,标题或任何要保存的内容,然后再次添加它们。
不隶属于 StackOverflow