HREF属性在IFRAME中不起作用

时间:2011-11-24 09:03:37

标签: javascript html iframe

我有一个iframe来预览一些数据。

数据存储在javascript变量中:

var s = '<html><head></head><body><a href="#">Hello_world</a></body></html>';

我通过Javascript将数据[passing s]传递给iframe SRC属性。

以下是代码:

document.getElementById('output_iframe1').src = "data:text/html;charset=utf-8," + escape(s);

因此数据会加载到除<a>个元素之外的iframe上。

The Problem is我可以看到text但不能看到链接。但是,元素事件正常工作(单击,悬停等)。

我通过Firebug进行了检查,所有人都在那里工作得很好。

我在Firebug上将HREF属性更改为http://somesite/file.html,令人惊讶的是它有效,但不是#

其实我做错了什么? 为什么我看不到LINKS没有http://

谢谢。

更新1:我使用最新的Firefox 8.0对其进行了测试,效果很好,也使用谷歌浏览器进行了检查[运行良好,但点击任何链接消失了所有链接],Yeah as usual IE failed in all cases,it looks like IE doesn't know what is an Iframe

2 个答案:

答案 0 :(得分:0)

  

试试这个

var s = "<html><head></head><body><a href='#'>Hello_world</a></body></html>";
  

而不是这个

var s = "<html><head></head><body><a href="#">Hello_world</a></body></html>";

答案 1 :(得分:0)

使用href =“javascript:void(0)”而不是href =“#”。

OR

由于您将其分配给src属性,因此需要在应用字符串之前对其进行编码。这是因为,通常src值是url,有时在浏览器url中使用“#”。希望你明白我在说什么。 使用encodeURIComponent()或encodeURI()。请参阅此处的语法 http://www.w3schools.com/jsref/jsref_encodeuricomponent.asp