我使用colorbox來顯示surveymonkey嵌入式調查,作爲彈出窗口攔截器的解決方法。一切工作完美,直到他們完成調查並返回網站。該colorbox彈出再次顯示沒有內容。我需要找到一種方法來驗證腳本標記之間沒有數據,然後關閉它或只有在有內容時才顯示它。我用螢火蟲在頁面上之前和他們調查後完成:當外部腳本爲空時,我需要關閉colorbox
前:
<script src="https://www.surveymonkey.com/jsPop.aspx?sm=4GSXwWYQ306AtiO3hP45Jg_3d_3d">
document.write("<iframe id=\"sm_e_s\" src=\"https://www.surveymonkey.com/s.aspx?sm=4GSXwWYQ306AtiO3hP45Jg%3d%3d\" width=\"500\" height=\"1000\" style=\"border:0px;padding-bottom:4px;\" frameborder=\"0\" allowtransparency=\"true\" ><a href=\"https://www.surveymonkey.com/s.aspx?sm=4GSXwWYQ306AtiO3hP45Jg%3d%3d\">Please take our survey</a></iframe></script>");if(document.getElementById('surveyMonkeyInfo')) {document.getElementById('surveyMonkeyInfo').style.width='500px';document.getElementById('surveyMonkeyInfo').style.fontSize='10px';document.getElementById('surveyMonkeyInfo').style.color='#666';}
</script>
<iframe id="sm_e_s" height="1000" frameborder="0" width="500" allowtransparency="true" style="border:0px;padding-bottom:4px;" src="https://www.surveymonkey.com/s.aspx?sm=4GSXwWYQ306AtiO3hP45Jg%3d%3d">
</iframe>
(我離開了一些iFrame的腳本,因爲它是非常漫長的,沒有必要)
後:
<script src="https://www.surveymonkey.com/jsPop.aspx?sm=4GSXwWYQ306AtiO3hP45Jg_3d_3d">
</script>
這似乎應該有一個簡單的解決方案,但我只是不能看到把我的手指!
編輯: 這裏是什麼在頭上,如果我能想出檢查是否有腳本標記內的任何的一種方式,那麼我可能會阻止加載顏色框開頭:
<link rel="stylesheet" href="/colorbox/colorbox.css" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="/colorbox/jquery.colorbox-min.js"></script>
<script>
jQuery(document).ready(function() {
$(".inline").colorbox({inline:true, href:"#inline_content", open:true,});
});
</script>
編輯2: 我又回來了!所以JRods的建議有助於在腳本標籤爲空時停止運行colorbox(這正是我所要求的,所以謝謝你!),但我從來沒有考慮腳本運行時的層次結構。如果我們在執行之前檢查標籤是否爲空,那麼它們將始終爲空,因此colorbox將永遠不會打開#inline_content。有沒有人有一種方法來運行腳本的建議,檢查它,然後在它周圍運行colorbox?
裏的任何東西,你可以做一個小提琴? – Jrod
我似乎有一個艱難的一天。我的小提琴似乎也喜歡我: http://jsfiddle.net/j7C6W/2/ 繼承人的現場網站地址,與您的建議註釋了測試: http://www.wtrrentals.com/indexTEST2。 shtml –