2016-04-27 36 views
1

Ich brauche etwas Hilfe, um die ngSanatize zu beheben; ng-href Link zeigt error unsafe:javascript...ng-href zeigt unsafe: Javascript Fehler

ich kein Tutorial bekommen haben, dieses Problem zu lösen, ist der Code unten erwähnt:

ng-href="javascript:google.maps.event.trigger(gmarkers['{{city.cityname}}'] 

HTML:

var eventsApp = angular.module('eventsApp', []); 
 
eventsApp.controller('locationController', function($scope) { 
 
    $scope.event = { 
 
    "continents": [{ 
 
     "continentName": "Asia", 
 
     "countries": [{ 
 
     "countryName": "India", 
 
     "cities": [{ 
 
      "cityname": "Mumbai", 
 
      "latLng": [19.139683, 72.881755], 
 
      "pinColor": "#004b88", 
 
      "addresses": [ 
 
      "<div class='address'>Gate #5, L&T Business Tower B, 2nd floor, Saki Vihar Road, Powai (East), Mumbai - 400072,India</div>" 
 
      ] 
 
     }, { 
 
      "cityname": "Bangalore", 
 
      "latLng": [12.967715, 77.596607], 
 
      "pinColor": "#004b88", 
 
      "addresses": [ 
 
      "<div class='address'>Plot No 25-31, EPIP 2nd Phase, Industrial Area, Whitefield, Bangalore-560066. India</div>" 
 
      ] 
 
     }, { 
 
      "cityname": "Vadodara", 
 
      "latLng": [22.297864, 73.168966], 
 
      "pinColor": "#004b88", 
 
      "addresses": [ 
 
      "<div class='address'>L&T Knowledge City, West Block, NH 8, Ajwa – Waghodia Crossing, Vadodara – 390 019, Gujarat, India</div>" 
 
      ] 
 
     }, { 
 
      "cityname": "Mysore", 
 
      "latLng": [12.306326, 76.629660], 
 
      "pinColor": "#004b88", 
 
      "addresses": [ 
 
      "<div class='address'>Mysore Complex, KIADB Industrial Area, Hebbal - Hootagalli, Mysore - 570018, India</div>" 
 
      ] 
 
     }, { 
 
      "cityname": "Chennai", 
 
      "latLng": [13.078007, 80.211203], 
 
      "pinColor": "#004b88", 
 
      "addresses": [ 
 
      "<div class='address'>Ganesh Office Building, New No. 50 (Old No. 130) Velachery Road, Saidapet, Chennai – 600015, India</div>" 
 
      ] 
 
     }] 
 
     }, { 
 
     "countryName": "Japan", 
 
     "cities": [{ 
 
      "cityname": "YOKOHAMA", 
 
      "latLng": [35.466913, 139.617877], 
 
      "pinColor": "#004b88", 
 
      "addresses": [ 
 
      "<div class='address'>Landmark Tower 37 F 2-2-1, Minatomirai, Nishi-ku, Yokohama,Kanagawa 220-8137</div>" 
 
      ] 
 
     }] 
 
     }, { 
 
     "countryName": "Singapore", 
 
     "cities": [{ 
 
      "cityname": "", 
 
      "latLng": [1.296961, 103.846253], 
 
      "pinColor": "#004b88", 
 
      "addresses": [ 
 
      "<div class='address'>80 Anson Road, #24-02 Fuji Xerox Towers, Singapore 079907</div>" 
 
      ] 
 
     }] 
 
     }, { 
 
     "countryName": "Korea", 
 
     "cities": [{ 
 
      "cityname": "South Korea", 
 
      "latLng": [36.354133, 128.184051], 
 
      "pinColor": "#004b88", 
 
      "addresses": [ 
 
      "<div class='address'>#102-604, 6th Floor, Daewoo World Mark Building, YeongTong Dong, YeongTong Gu, Suwon Si, Gyoenggi Do, South Korea</div>" 
 
      ] 
 
     }] 
 
     }] 
 
    }, { 
 
     "continentName": "USA", 
 
     "countries": [{ 
 
     "countryName": "", 
 
     "cities": [{ 
 
      "cityname": "NEW JERSEY", 
 
      "latLng": [39.575889, -74.906897], 
 
      "pinColor": "#004b88", 
 
      "addresses": [ 
 
      "<div class='address'>2035 Lincoln Highway Suite # 3000-3005, Edison Square West, Edison, NJ-08817</div>" 
 
      ] 
 
     }, { 
 
      "cityname": "CONNECTICUT", 
 
      "latLng": [41.646227, -72.870117], 
 
      "pinColor": "#004b88", 
 
      "addresses": [ 
 
      "<div class='address'>750 Main Street Suite # 704 Hartford, CT 06103</div>" 
 
      ] 
 
     }] 
 
     }] 
 
    }] 
 
    } 
 
});
<!DOCTYPE html> 
 
<html ng-app="eventsApp"> 
 

 
<head> 
 
    <meta charset="utf-8" /> 
 
    <title>Global Presence</title> 
 
    <link href='https://fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'> 
 
    <!-- Bootstrap core CSS --> 
 
    <link href="css/bootstrap.min.css" rel="stylesheet"> 
 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"> 
 
    <script src="https://code.jquery.com/jquery-2.2.3.min.js" integrity="sha256-a23g1Nt4dtEYOj7bR+vTu7+T8VP13humZFBJNIYoEJo=" crossorigin="anonymous"></script> 
 
    <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 
 
    <script src="https://maps.googleapis.com/maps/api/js"></script> 
 
    <script type="text/javascript" src="js/script.js"></script> 
 
    <script data-require="[email protected]" src="https://code.angularjs.org/1.4.9/angular.js" data-semver="1.4.9"></script> 
 
    <script src="js/app.js"></script> 
 
</head> 
 

 
<body ng-controller="locationController"> 
 
    <div class="container"> 
 
    <div class="row"> 
 
     <div style="width:100%;"> 
 
     <div class="global">Global Presence</div> 
 

 
     <div id="map" style="width:100%; height:400px;"></div> 
 
     <!--<div id="googleMap" style="width:100%;height:400px;"></div>--> 
 
     </div> 
 
    </div> 
 
    <ul style="width:100%"> 
 
     <li><a class="active" href="#asia">Asia</a> 
 
     </li> 
 
     <li><a href="#usa">USA</a> 
 
     </li> 
 
    </ul> 
 

 
    <div class="container-fluid"> 
 
     <div class="row" id="asia"> 
 
     <div class="col-sm-12 continents" ng-repeat="continent in event.continents"> 
 
      <h2>{{continent.continentName}}</h2> 
 
      <div class="list-group whiteBG"> 
 
      <div class="col-md-12 country" ng-repeat="country in continent.countries"> 
 
       <h3>{{country.countryName | uppercase}}</h3> 
 
       <!-- <pre>{{country.cities | json}}</pre> --> 
 
       <div class="row"> 
 
       <div class="col-md-3 col-xs-6 city" ng-repeat="city in country.cities"> 
 
        <h4>{{city.cityname | uppercase}}</h4> 
 
        <p ng-repeat="address in city.addresses" ng-bind-html-unsafe="address">{{address}}</p> 
 
        <a ng-href="javascript:google.maps.event.trigger(gmarkers['{{city.cityname}}'],'click');" style="text-align:left;"><span class="glyphicon glyphicon-map-marker"></span> View on Map</a> 
 
       </div> 
 
       </div> 
 
      </div> 
 
      </div> 
 
     </div> 
 
     </div> 
 
    </div> 
 
    <div id="usa"></div> 
 
    </div> 
 
</body> 
 

 
</html>

Antwort

0

Yo kannverwenden 10 zu lösen das Problem

0

Sie die JavaScript-URL sanieren kann

eventsApp.config(function($compileProvider) { 
    $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|javascript):/); 
}); 
mit