幫忙寫了一支小程式,因為對方懶得整合所以挖了一個 iframe 給我。這下有點困擾,thickbox 點下去會直接在 iframe 的正中央顯示出來,凍結視窗的效果 (modal) 也只在 iframe 裡面作用。照著《ThickBox 插件在 iframe中使用》依樣畫葫蘆做設定:

1. 先到 jQuery 官網下載 jQuery core、到 ThickBox 官網下載 ThickBox 3.1(因為等一下要修改原始碼,這邊下載未壓縮版本以便之後修改),放到專案資料夾裡。

2. 在 iframe 內嵌的網頁 <head> 區段裡引入 jQuery & thickbox。

3. 在連結上設定指定的 thickbox 效果。

4. 修改 thickbox 原始檔,找出 tb_init 函式,指定在母視窗進行 tb_show。

5. 在外框 (parent) 的網頁<head> 區段裡引入 jQuery & thickbox。

這樣就好囉。:)

 

另外就是,我用的 thickbox 類型是 iFrame Content 裡的 iFrame Modal,這種模式裡要在內容裡自訂一顆按鈕來執行關閉。(我本來選用一般的模式,右上角的關閉按了無效、Esc 也無效)

我原本是寫在 hyperlink 裡,就是 <a href="javascript: self.parent.tb_remove();">,可是很奇怪的是在點選關閉後會看到一個視窗殘像,上面寫著 false,我想大概是把傳回值印出來了,改成按鈕就沒事了。

不過還是很想要找個可以不必去動 parent 的解法……先記著這件事,之後有看到再補進來。

 

arrow
arrow
    全站熱搜

    小攻城師 發表在 痞客邦 留言(0) 人氣()