问题
I have a couple of questions:
Is
<iframe src="/index.php"></iframe>the same as HTMLIFrameElement ?Why
<iframe src="data:text/html;base64,aHR0cDovL2V4YW1wbGUuY29t" height=1280 width=800></iframe>works fine, but
a=document.getElementsByTagName('body')[0]; b=document.createElement('iframe'); b.src="data:text/html;base64,aHR0cDovL2V4YW1wbGUuY29t"; a.appendChild(b);does not work? I mean in DOM HTMLIFrameElement src I could put function with encoded string. Is it possible to encode string only in src variable?
回答1:
The Data URI scheme is for direct embedded data.
data:text/html;base64,aHR0cDovL2V4YW1wbGUuY29t
Means a html page with "http://example.com" as its sole content.
You probably want "http://example.com" as src
回答2:
- Yes
- You need to append the iFrame to the document. Like so
document.body.appendChild(b)
回答3:
To your point 2: your two methods give the same result.
Live demo: http://jsfiddle.net/Ft9gh/
a=document.getElementsByTagName('body')[0];
b=document.createElement('iframe');
b.src="data:text/html;base64,aHR0cDovL2V4YW1wbGUuY29t";
a.appendChild(b);
来源:https://stackoverflow.com/questions/13958097/iframe-source-with-variable