看板 Ajax 關於我們 聯絡資訊
目前正在做overlay,用的是jquerytool 範例是這樣 http://jquerytools.org/demos/overlay/custom-effect.htm 目前遇到個問題 是希望出現的效果是,點下圖片,出現大圖 並把整個視窗給檔掉,不讓人點 (如範例,擋住的那一層青黑色層,官網叫他mask) 但我使用那個東西的網頁是在一個iframe中 (都是同一網域,但是我不能改最外層的網頁) 如果叫出overlay,那只會出現在iframe當中,並檔掉ifram的滑鼠點擊 最外面(top)還是能夠點連結 請問,要怎麼解決? 目前我已經嘗試過的方法1: 是直接操作top的document 加一個div進去,再把他變成overlay var Dialog = "<div id='ImgOverlayShow'........</div>"; $(top.document.body).append(Dialog); $("#ImgOverlayShow",top.document).overlay({....}); 但這樣出現的結果,雖然成功在top中弄出overlay 但是,遮罩(mask 擋住滑鼠點擊的那個東西)依然只出現在iframe當中 而且最糟糕的是,如果外層(top)切換iframe的網頁 那個overlay就永遠關不掉了(firebug會顯示找不到function) 嘗試過的方法2: 因為懷疑jquery tool會綁定調用window,所以想說 把script塞進top中,讓他去執行,說不定能成功 var ScriptShow = top.document.createElement( 'script' ); ScriptShow.type = 'text/javascript'; ScriptShow.src = '......./jquery.tools.min.js'; ScriptShow.text = "$("#ImgOverlayShow").overlay({....});"; // ScriptShow.text = $("#ImgOverlayShow",top.document).overlay({....}); //這樣改的話,mask一樣只出現在iframe中 $(top.document.body).append(ScriptShow); 但還是失敗 請問還有別的方法嗎? -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.59.16.65 ※ 編輯: LaPass 來自: 61.59.16.65 (03/14 15:26) ※ 編輯: LaPass 來自: 61.59.16.65 (03/14 15:30)
musie:應該是要用parent.document吧? 03/14 15:34
LaPass:iframe包了不只一層.... 而且還有框架頁.... = = 03/14 15:51
LaPass:最後是自己做一個overlay... = =" 03/15 11:15