2012-12-19 5 views
3

У меня есть несколько вопросов:Iframe источник с переменной

  1. Is <iframe src="/index.php"></iframe> же, как HTMLIFrameElement?

  2. Почему

    <iframe src="data:text/html;base64,aHR0cDovL2V4YW1wbGUuY29t" 
        height=1280 width=800></iframe> 
    

    работает отлично, но

    a=document.getElementsByTagName('body')[0]; 
    b=document.createElement('iframe'); 
    b.src="data:text/html;base64,aHR0cDovL2V4YW1wbGUuY29t"; 
    a.appendChild(b); 
    

    не работает? Я имею в виду в DOM HTMLIFrameElement src. Я мог бы поставить функцию с закодированной строкой. Можно ли кодировать строку только в переменной src?

+0

Просто положить его здесь, так что каждый может видеть, что вся предпосылка Вашего вопроса является ложной. http://jsfiddle.net/JkJNH/2/ <- они работают точно так же, и этот код в значительной степени напрямую копируется с вашего вопроса. – Esailija

ответ

0

Схема данных URI предназначена для непосредственных встроенных данных.

data:text/html;base64,aHR0cDovL2V4YW1wbGUuY29t 

Означает HTML-страницу с "http://example.com" в качестве единственного содержания.

Вы, вероятно, хотите "http://example.com", как src

+0

Мне нужно, чтобы он работал как jsfiddle.net/maniator/JkJNH/1, но с src = "data: text/html; base64, aHR0cDovL2V4YW1wbGUuY29t"; – Adam

+0

@Adam Почему? 'data:' не работает так, поэтому вы не можете этого сделать. Прочтите мой ответ. – Esailija

+0

Но почему это работает для данных '??? – Adam

3
  1. Да
  2. Вам нужно присоединить IFrame к документу. Like sodocument.body.appendChild(b)​
+0

Я сделал это «a.appendChild (b);» но стиль не работает, работает только с четкой ссылкой «http://www.example.com» или ссылка, связанная с + »« http: // «+» www.example.com » – Adam

+0

@ Adam см. мое обновление – Neal

+0

, но не переходите на эту страницу !!! только показывать текстовое значение – Adam

0

к точке 2: ваши два метода дают одинаковый результат.

Живая демонстрация: http://jsfiddle.net/Ft9gh/

a=document.getElementsByTagName('body')[0]; 
b=document.createElement('iframe'); 
b.src="data:text/html;base64,aHR0cDovL2V4YW1wbGUuY29t"; 
a.appendChild(b); ​ 
Смежные вопросы