javascript - 使用 JavaScript 删除不必要的 JavaScript

标签 javascript asp.net html hide

我在 ASP.net 站点中有一个页面,其中有多个内容占位符、带有 JavaScript 函数的脚本标记和其他元素。我使用 JavaScript 隐藏了所有内容持有者和其他 html 元素,但我想显示的 div 除外。但是我在该页面中运行了其他脚本。我怎样才能删除它们?

有什么想法吗?

编辑1

假设我有一个后续页面

<html>
<head>

    <script type="text/javascript">
        alert("unnecessary script")
    </script>

</head>
<body>

    <script type="text/javascript">
        alert("another one")
    </script>

    <div id="div1">
        Div 1</div>
    <div id="div2">
        Div 2</div>
    <div id="div3">
        Div 3</div>

    <script type="text/javascript">
        alert("one more")
    </script>

</body>
</html>

我正在将此页面加载到另一个页面的 iFrame 中,在框架 OnLoad() 中我调用 HideUnneededHTML() 它隐藏了除 div2 之外的所有内容。我怎样才能在加载之前删除不必要的 Javascript?

最佳答案

您可能会尝试的一件事是将不必要的函数重新分配给一个什么都不做的新函数。毕竟,Javascript 函数是一流的对象,因此可以为它们分配一个新值。这不会从您的页面中删除行,但会导致函数无用。如果您想暂时关闭它们,请将它们的值分配给另一个变量,然后重新分配它们。您可以随时将它们切换回保存在其他变量中的值。

<script type="text/javascript">
    function myAmazingFunction(){
       alert("Does Something");
    }
</script>

稍后...

<script type="text/javascript">
    myAmazingFunction = function(){};

    //Now, call it... 
    myAmazingFunction();
</script>

这是安全的,因为这意味着调用这些函数的任何其他代码都不会导致错误 - 它们只是不会执行任何操作。

试一试,告诉我你的进展情况。

编辑: 我已经确认这种方法应该有效。在这里,我将功能从 Does Something 切换到 Does Something Else,然后再切换回来。

<script type="text/javascript">
    function myAmazingFunction() {
        alert("Does Something");
    }
    myAmazingFunction();
    var temp = myAmazingFunction;
    myAmazingFunction = function() { alert("Does Something Else"); };
    myAmazingFunction();
    myAmazingFunction = temp;
    myAmazingFunction();
</script>

按此顺序产生 3 个警告框:

Does Something
Does Something Else
Does Something

关于javascript - 使用 JavaScript 删除不必要的 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3386185/

相关文章:

c# - 从弹出窗口中隐藏地址栏

asp.net - S#arp 是否适用于经典 ASP.NET 甚至 WinForms?

jquery - 使用 addClass 向子子级添加类

html - 为什么 height=100% 不起作用?

javascript - 使用按钮单击 react 渲染特定数据

javascript - 如何从 Elasticsearch 中获取索引的字段?

asp.net - 使用 ASP.NET AJAX/ICallbackEventHandler 跟踪状态

php - 如何在网站上查找恶意代码/恶意软件

javascript - DataTables 删除/隐藏列中包含重复信息的行

javascript - 单击浏览器上的后退按钮时如何加载确切的页面?