0

我需要的

  • 我需要在查看源 js 代码中隐藏 js 代码

        function unloadJS(scriptName) {
        var head = document.getElementsByTagName('head').item(0);
        var js = document.getElementById(scriptName);
        js.parentNode.removeChild(js);
        }
    
        function unloadAllJS() {
        var jsArray = new Array();
        jsArray = document.getElementsByTagName('script');
        for (i = 0; i < jsArray.length; i++){
        if (jsArray[i].id){
        unloadJS(jsArray[i].id)
        }else{
        jsArray[i].parentNode.removeChild(jsArray[i]);
        }
        }       
        }
    
    
            var page_count = {{count()}};
            if (page_count == 4)
            {
            dataLayer.push({'event':'mobilePromo-android'});
            }
        $(document).ready(function()
        {
            var page_count = {{count()}};
            var height= $(window).height();
            if (page_count == 4 )
            {
    
                $.ajax({
                    type: "GET",
                    url: "http://times.com/mobilepopuptracker?from=android", 
    
                });
    
                $('body').html('<div class="row flush aligncenter popbx" style="height:'+height+'px"><div class="12u">');               
    
            }
            else
            {
    
            }
    
    
        });
            function redirect()
            {
    
                  var a=$(location).attr('href');
                   window.location.href=a;
            }
    
        </script>
    

    问题

    • 我需要在查看源代码中隐藏 js 代码。

调试

4

2 回答 2

1

使用在线Google Closure Compiler 服务,它会通过重命名变量和函数名等操作使您的代码几乎不可读。例如:

原始 JS

function toggleDisplay(el){
    if (!el) return;
    el.style.display = (el.style.display==='none') ? 'block' : 'none';
}

闭包编译

function toggleDisplay(a){a&&(a.style.display="none"===a.style.display?"block":"none")};

JavaScript 美化

function toggleDisplay(a){
    a&&(a.style.display="none"===a.style.display?"block":"none")
};

这样做还可以减少脚本的大小,有助于提高网页的加载时间。

你仍然可以阅读脚本,但它更难理解,并且在使用 JavaScript 闭包之类的东西时会变得非常复杂。

于 2015-01-08T14:46:33.980 回答
0

你不能真正隐藏你的 js 代码。您可以对其进行混淆(即使其难以阅读),但与 PHP 或 Perl(在服务器端处理)不同,JS 在客户端浏览器本身中运行。因此,客户端始终拥有它的副本,并且可以随时查看该源。

于 2015-01-08T15:35:14.673 回答