2014-01-22 86 views
0

我在學校系統http://m.rsd17.org/index1.html上工作,並正在製作一個公告,顯示學校取消。如果有延誤或學校關閉,我有一個外部頁面,可以取消註釋並更改文本。在我的網站的頂部,我想隱藏iframe,如果我註釋掉外部文件的寫作。這裏是一些我使用的代碼。如果src爲空,則隱藏iframe

<iframe id="emergency" src="http://f.rsd17.org/frontemergency1.html" width="100%" height="50px" frameborder="0"></iframe> 

我希望它顯示的iframe,當我沒有註釋掉外部html中的文本。我希望它的iframe完全消失,所以當沒有消息要顯示時,按鈕會恢復。我已經嘗試了一堆不同的jQuery腳本,但是當html爲空時,沒有運氣去除iframe。任何想法都會很棒。

+3

使用ajax獲取該html頁面的內容並將其附加到某個位置可能會更容易,然後當頁面爲空時,不會添加任何內容。 –

+1

如果iFrame顯示來自同一個域的內容,您可以先將其隱藏起來,一旦它被加載,您可以檢查它是否包含內容,如果存在,則顯示它。 – adeneo

+2

或者你可以用SSI而不是在iframe中。服務器上啓用了SSI嗎? – FiLeVeR10

回答

0

我能解決這個問題,但使用SSI,改變的index.html到index.shtml和移動我正在使用正確的文件夾的文件。改變了我的主要index.shtml上的鏈接。一切都好。謝謝FiLeVeR10的幫助。

0

您的服務器是否支持PHP?我問,因爲如果這是學區,你可能不想假設所有的用戶都會啓用javascript等等。最好在後端處理這個問題,用戶不依賴於他們的瀏覽器。

http://f.rsd17.org/frontemergency1.php

<?php 
die(); //Comment this out to display a message 
?> 
Announcement here! 
0

您不必檢查是否有您的iframe內容。如果您放置註釋內容,則您的iframe將封裝並顯示它。如果你刪除評論,那麼你的iframe仍然會在那裏,但它不會在視覺上引人注目。

雖然你不需要這些,你可以嘗試這樣使用jQuery:

var html_content = $('#emergency ').find('#alertmessagebox').children().html(); 
if(html_content[0] === '') { 

    $('#emergency').css('display','none'); 

} else { 

    $('#emergency').css('display','');   

} 
+0

如果我註釋掉外部文件,它不會顯示任何內容,但是iframe存在巨大差距。我希望這個差距也會消失。幾乎就像我刪除iframe。 –

+0

如果是這樣,然後使用我給你上面的代碼。它應該工作正常。 –