Tuesday, 15 September 2015

angularjs - ng-if doesn't prevent URLs in inner HTML from being evaluated -


मेरे पास कुछ HTML है जो ng-if टैग के साथ सशर्त है।

पूर्व> & lt; div ng-if = "localVideoExists" & gt; & Lt; वीडियो आईडी = "वीडियो प्लेयर" नियंत्रण src = '{{localVideoSrc}}' शैली = "अधिकतम-ऊंचाई: 400px;" / & Gt; & Lt; / div & gt;

एनजी-अगर निर्देश में शर्त को true के रूप में मूल्यांकन नहीं करता है। मुझे लगता होगा कि इसका मतलब है कि अंदरूनी HTML कभी भी DOM में नहीं जोड़ा जाएगा हालांकि, मेरा वेब सर्वर लॉग

/ {{localVideoSrc}}

के रूप में कई अनुरोध दिखाता है, इसलिए कुछ कारण है कि वीडियो टैग को पॉप अस्तित्व (हालांकि मुझे इसे DOM ) में कभी नहीं मिला है और यह अभी तक मूल्यांकन वाले कोणीय टेम्पलेट स्ट्रिंग {{localVideoSrc}} के आधार पर एक वेब अनुरोध बना रहा है। मैं इस व्यवहार को रोकने के लिए प्रतीत नहीं कर सकता वास्तव में, मेरे नियंत्रक में पहली पंक्ति है:

  $ scope.localVideoExists = false;  

मैंने अब भी किसी भी कार्यक्षमता को अक्षम कर दिया है, जो कभी भी localVideoExists से true को सेट कर देगा।

"post-text" itemprop = "text">

इसका कारण यह है कि DOM <के बाद का कोणीय लोड / कोड> लोड हो गया है इसलिए एंबेरडर सक्रिय होने से पहले HTML को पार्स किया जाता है और निष्पादित किया जाता है । इसलिए, ब्राउज़र एनजी-अगर के अंदर HTML को लोड करता है और {{localVideoSrc}} के लिए अनुरोध करता है।

इस तरह से रोकने के लिए व्यवहार की, ng-src का उपयोग करें:

शायद, आपको सुरक्षा की वजह से सेवा का उपयोग करना होगा।


No comments:

Post a Comment