【问题标题】:How to disable a specific javascript file in Web Browser control in C#如何在 C# 的 Web 浏览器控件中禁用特定的 javascript 文件
【发布时间】:2013-07-25 17:41:47
【问题描述】:

我在我的 C# 项目中使用 Web 浏览器控件,我只想禁用特定的 javascript 文件。有没有办法做到这一点?此脚本正在从外部网站加载,我想禁用它。 交易

【问题讨论】:

  • 您能否提供更多信息?您想仅在特定页面上使用 js 文件,还是在浏览器控件中加载外部站点并希望禁用外部站点上的脚本等?

标签: c# javascript webbrowser-control


【解决方案1】:

javascriptKit.com 上有一篇很棒的文章

动态删除外部 JavaScript 或 CSS 文件:

要从页面中删除外部 JavaScript 或 CSS 文件,关键是首先通过遍历 DOM 找到它们,然后调用 DOM 的 removeChild() 方法来完成命中工作。一种通用的方法是根据文件名识别要删除的外部文件,当然还有其他方法,例如通过 CSS 类名。考虑到这一点,以下函数会根据输入的文件名删除任何外部 JavaScript 或 CSS 文件:

 function removejscssfile(filename, filetype){
 var targetelement=(filetype=="js")? "script" : (filetype=="css")? "link" : "none" //determine element type to create nodelist from
 var targetattr=(filetype=="js")? "src" : (filetype=="css")? "href" : "none" //determine corresponding attribute to test for
 var allsuspects=document.getElementsByTagName(targetelement)
 for (var i=allsuspects.length; i>=0; i--){ //search backwards within nodelist for matching elements to remove
  if (allsuspects[i] && allsuspects[i].getAttribute(targetattr)!=null && allsuspects[i].getAttribute(targetattr).indexOf(filename)!=-1)
   allsuspects[i].parentNode.removeChild(allsuspects[i]) //remove element by calling parentNode.removeChild()
 }
}

removejscssfile("somescript.js", "js") //remove all occurences of "somescript.js" on page
removejscssfile("somestyle.css", "css") //remove all occurences "somestyle.css" on page

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多