【发布时间】:2011-03-24 06:35:47
【问题描述】:
我正在使用 jQuery 和 Ruby On Rails。
我有一个 ajax 调用 $.get(),它会渲染一段包含 iframe 的 html
我想修改 iframe 以确保 <a> 链接在新窗口中打开。
为此,我在 iframe 定义中添加了一个 onload:
<iframe id="iframe_message_<%= message.id %>" class="iframe_message" name ="iframe_message_<%= message.id %>" width="100%" frameborder="0" src="<%= message.attachments.body_html.first.document.url %>" onLoad="autoResize('iframe_message_<%= message.id %>');">
autoResize 函数在 ajax 调用渲染的 html 中定义,包含:
$(".iframe_message").ready(function () {
$('a', frames[id].document).attr('target','_blank');
});
这在 IE 和 Safari 中运行良好,但我在使用 firefox 时遇到问题,第一次通过鼠标单击调用 $.get() 而不是在接下来的单击时(<a> 标签未修改)。
我想到了一个缓存问题,并将$.get() 替换为$.ajax() 与cache:true,但我仍然有相同的行为。
关于可能是什么问题的任何想法?
【问题讨论】:
标签: jquery ruby-on-rails firefox iframe