2011-12-11 18 views
8

मैं एक में ब्राउज़र HTML/जावास्क्रिप्ट/सीएसएस क्रोम में आईडीई में एक परीक्षण क्षेत्र के रूप में कार्य करने के लिए एक iframe कोड की कोशिश कर रहा हूँ, लेकिन मैं कार्यक्षमता का एक बहुत खोने हूँ में जावास्क्रिप्ट के साथ इनकोडिंग डेटा यूआरआई के रूप में विशेषता कुछ कीड़े की वजह से है, और मैं अगर किसी को मुझे बताओ कि एचटीएमएल जावास्क्रिप्ट सीएसएस आदि कोड .src विशेषता में सीधे इनकोडिंग के साथ एक यूआरएल के लिए iFrame के .src विशेषता निर्धारित करने में कर सकता है सोच रहा था। मुझे मत बताओ कि यह नहीं किया जा सकता है, क्योंकि मुझे पता है कि यह कर सकता है, मैंने बस उस वेब पेज को खो दिया जहां मुझे यह विधि मिली। साथ ही, एक साइड नोट के रूप में, क्या इस आईफ्रेम को रीफ्रेश करने के लिए प्रोग्रामेटिक रूप से मजबूर करना संभव होगा?सेटिंग iFrame src क्रोम

अपने समय के लिए धन्यवाद,

क्रिस

+0

क्यों आप की क्या ज़रूरत है इसे पहली जगह में करने के लिए? आप किस बग का जिक्र कर रहे हैं? –

+0

यदि मैं बस मानक डीओएम के माध्यम से iFrames सामग्री को संपादित करता हूं तो जावास्क्रिप्ट ठीक से निष्पादित नहीं होगा। – user1030453

+1

@ पेक्का, मुझे खेद है। हो सकता है कि मैं इसे सही तरीके से समझा नहीं रहा हूं, लेकिन मैंने ऐसे उदाहरण देखे हैं जिनमें iFrame की src विशेषता को टेक्स्ट टेक्स्ट/html के डेटा यूआरआई के साथ प्रतिस्थापित किया गया है। किसी को कम से कम एक डाटा यूआरआई/जावास्क्रिप्ट में एक स्ट्रिंग से इनकोडिंग यूआरएल के लिए एक iFrames .src विशेषता स्थापित करने के लिए निर्देश के साथ एक पृष्ठ पर मुझे प्रत्यक्ष कृपया सकते हैं, मैं बाकी यह पता लगाने की कोशिश कर सकते। कृपया, मुझे अभी भी यह पता नहीं चला है। इंटरनेट एक्सप्लोरर में – user1030453

उत्तर

4
अपना शोध से

इसे इस तरह एक सुरक्षा जोखिम समझा जाता है और इसलिए सभी ब्राउज़रों में की अनुमति नहीं है लग रहा है।

MS IE site link अंश:

डाटा यूआरआई निम्नलिखित तत्वों और/या विशेषताओं के लिए केवल समर्थित हैं।

  • वस्तु (केवल चित्र)
  • img
  • इनपुट प्रकार = छवि
  • ऐसी पृष्ठभूमि, backgroundImage के रूप में लिंक
  • सीएसएस घोषणाओं को एक ऐसे URL स्वीकार करते हैं,, और इतने पर।

एचटीएमएल 5 सुरक्षा cheatsheet: http://html5sec.org/

0

ताज़ा आइफ्रेम:

document.getElementById('iframeid').src = document.getElementById('iframeid').src 
4

iframeEl.src = "डेटा: text/html; charset = utf-8," + सामग्री;

+1

यदि आप IE का समर्थन करने की आवश्यकता है तो आप डेटा यूआरआई का उपयोग नहीं कर सकते - http://msdn.microsoft.com/en-us/library/cc848897%28v देखें = vs.85% 29.aspx – robocat

1

हाँ, यह किया जा सकता है - देखना http://sparecycles.wordpress.com/2012/03/08/inject-content-into-a-new-iframe/

नोट कि iframe मूल पृष्ठ के रूप में ही मूल है, जो वांछित नहीं किया जा सकता है और हो सकता है जाएगा आप जो कर रहे हैं उसके आधार पर गंभीर सुरक्षा विचारधाराएं हैं।

जावास्क्रिप्ट का उपयोग करने का एक उदाहरण: योजना तकनीक यहाँ है: http://jsbin.com/uhenuz/4 (। Https के साथ प्रयोग किया है कि मिश्रित https/http चेतावनी जाँच करने के लिए अतिरिक्त Googling और अच्छा परीक्षण की जरूरत कभी नहीं आ सकता है तो)