0

大家好:我一定是个菜鸟——我的 html 文件头部有这两个 javascript 脚本,但我想隐藏 api 编号以及第二个 js。我需要写什么才能将这些 js 放在另一个文件中,当右键单击鼠标/显示源代码时没有人可以阅读,并且在 div 中显示相同的谷歌地图

我试图把 src="filename.js" 但谷歌地图根本不会加载。

混淆 JS 代码?但是我们怎样才能把它放在一个侧面文件中呢?src="obfuscated code.js" 根本不会加载谷歌地图只把混淆代码放在头上,但它会弄乱谷歌索引吗?

  1.  <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=   
     ...&sensor=false"></script>
    
  2.     <script type="text/javascript">
        function initialize() {
            var latlng = new google.maps.LatLng(-19.991901,57.592607);
    
            var settings = {
                zoom: 1,
                disableDoubleClickZoom: true,
                draggable: false,
                scrollwheel: false,
                minZoom: 1,
                maxZoom: 18,
                center: latlng,
                mapTypeControl: false,
                navigationControl: true,
    navigationControlOptions: {style: google.maps.NavigationControlStyle.BIG},   
                mapTypeId: google.maps.MapTypeId.ROADMAP};
       var map = new google.maps.Map(document.getElementById("map_canvas"), settings);
    
    
    
            var companyImage = new google.maps.MarkerImage('images/logo.png',
                new google.maps.Size(100,50),
                new google.maps.Point(0,0),
                new google.maps.Point(50,50)
            );
    
                 var companyShadow = new google.maps.MarkerImage('images/logo_shadow.png',
                new google.maps.Size(130,50),
                new google.maps.Point(0,0),
                new google.maps.Point(65, 50));
    
            var companyPos = new google.maps.LatLng(-19.9913,57.592607);
    
            var companyMarker = new google.maps.Marker({
                position: companyPos,
                map: map,
                icon: companyImage,
                shadow: companyShadow,
                title:"Bur-Nas Beach",
                zIndex: 3});
    
    
    
    
            google.maps.event.addListener(companyMarker, 'click', function() {
                infowindow.open(map,companyMarker);
            });
        }
    </script>
    
4

2 回答 2

2

好的,有一种方法可以通过动态加载您的 javascript(这意味着通过其他一些 javascript 动态注入脚本标签)并在它保留在浏览器内存中时将其删除。

    (function() {

    var script_tag = document.createElement('script');
    script_tag.setAttribute("type","text/javascript");
    script_tag.setAttribute("src",
        "https://maps.googleapis.com/maps/api/js?key=YOURKEYHERE");
    if (script_tag.readyState) {
      script_tag.onreadystatechange = function () { // For old versions of IE
          if (this.readyState == 'complete' || this.readyState == 'loaded') {
              main();
          }
      };
    } else { // Other browsers
      script_tag.onload = main;
    }
    // Try to find the head, otherwise default to the documentElement
    (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_tag);

    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()
 }
}



/******** Our main function called when Maps has loaded ********/
function main() {
//initiate maps here

//remove all occurences of your script on page
    removejscssfile("https://maps.googleapis.com/maps/api/js?key=YOURKEYHERE", "js") //remove all occurences of your script on page
    //Do some cool googlemaps based stuff here

}

})(); // We call our anonymous function immediately
于 2013-04-09T17:36:10.220 回答
0

解决方案之一是混淆您的文件,使其不适合人类阅读。 看到这个线程

于 2013-04-09T17:05:03.290 回答