我正在使用jQuery和Ruby On Rails。 我有一個Ajax調用$.get()
這使得包含iframe的jQuery iframe訪問只在Firefox中第一次工作
我想修改的iframe,以確保<a>
鏈接在新窗口中打開HTML的一部分。
要做到這一點,我已經添加一個onload到的iframe定義:
<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瀏覽器遇到問題,第一次點擊鼠標時調用$.get()
,但沒有點擊下面的頁面(<a>
標籤未被修改)。
我想到了一個緩存問題,並用$.ajax()
替換$.get()
與cache:true
,但我仍然有相同的行爲。
關於可能是什麼問題的任何想法?
你好,謝謝你的回答。我沒有訪問iFrame,直到它加載到我的頁面上,所以我不能把JavaScript放入它。此外,除了Firefox – tranquiliste 2011-03-24 08:04:54
之外的其他瀏覽器的這項工作我已經做了進一步的測試,奇怪的是,在第一次調用firefox時,iframe中的所有鏈接都使用target =「_ blank」進行了修改,當單擊第二次修改了iframe之外的所有lin,而不是iframe。 – tranquiliste 2011-03-26 07:08:41