所以我有一個頁面將列出名爲'enews'的文件夾中的任何enewsletter(純html) 當用戶單擊列表時,html頁面將顯示在iframe (仍在同一頁)jquery第一次嘗試時無法訪問iframe
<ul><li><a class="iframesrc" href="/enews/today.html" target="viewcontent">Today</a></li>
<li><a class="iframesrc" href="/enews/yesterday.html" target="viewcontent">Yesterday</a></li>
</ul>
<iframe id="viewcontent" name="viewcontent"></iframe>
enews的html頁面不是由我製作的,所以我沒有完全控制頁面的方式。並且所有文件仍然在同一個域中。
所以我可以顯示iframe中的html頁面沒有問題。我老闆想要做的唯一事情就是讓HTML頁面中的每個超鏈接都在新標籤頁/窗口中打開。
當然,我可以直接在enewsletter html頁面中添加「target = _blank」,但它不可行,因爲我們有超過100個,我不能手動去做,再加上負責人不會沒有編程技巧,所以他實際上只是改變html的內容。
現在,有沒有辦法做到這一點?
我試圖使用jquery訪問iframe內容(要添加),但它不能很好地工作。
<script>
$(document).ready(function() {
$('a.iframesrc').click(function() {
console.log("clicked enewslink");
var link = $(this).attr("href");
console.log(link);
$("#viewcontent").attr("src",link);
$("#viewcontent").ready(function() {
var content = $("#viewcontent").contents().find("body").html();
console.log(content);
});
});
});
</script>
因此,當加載頁面時,我點擊「今天」,控制檯DOES檢索鏈接的href,但iframe的「內容」爲空加的iframe雖然會顯示正確的內容。 當我點擊「昨天」,控制檯可以檢索鏈接href,但這次iframe的「內容」是打印輸出(在控制檯中),iframe也顯示正確的內容。
爲什麼瀏覽器不能在第一次點擊時捕獲鏈接?
感謝和任何幫助,非常感謝。
編輯: 首先點擊:
在第二點擊:
只有當前文檔有一個'ready'處理程序,您的iFrame元素不**沒有準備好的處理程序。 – adeneo 2014-10-03 04:14:12
@ adeneo嗨,我刪除了這部分,它沒有區別。謝謝 – user2960754 2014-10-03 04:15:11