zeroclipboard的使用問題

來源:互聯網
上載者:User

基本使用,官網上的教程,就不說了.官網地址:http://code.google.com/p/zeroclipboard/

有一點點補充,就是在本地測試靜態頁的時候,需要在falsh的全域安全設定中,把下下來的flash添加進去,具體操作方法見flash的網站.下面的地址可以設定

http://www.macromedia.com/support/documentation/cn/flashplayer/help/settings_manager04.html

使用過程中還是遇到了各種各樣的問題。我的需求是:在彈出一個對話方塊(jquery dialog)之後,初始化zeroclipboard,zeroclipboard初始化flash檔案的時候確定flash的位置是根據下面的方法

var info = {
left: 0, 
top: 0, 
width: obj.width ? obj.width : obj.offsetWidth, 
height: obj.height ? obj.height : obj.offsetHeight
};

while (obj && (obj != stopObj)) {
info.left += obj.offsetLeft;
info.top += obj.offsetTop;
obj = obj.offsetParent;
}

我在用的時候跟官網的例子一樣的結構

<span id="clip_container"><span id="clip_link" ><b>複製連結到剪貼簿</b></span></span>   

最後clip.glue('clip_link', 'clip_container' );

產生的dom元素都正常,但是就找不到包裹著flash的DIV在哪兒(設定了背景色,寬高都不為0),不小心地改了產生的DIV的top跟left,終於發現DIV出來了。原因是jquery ui產生的對話方塊,也是div,並且設定了position屬性,內層div顯示的時候left跟top屬性值就是相對這個父div的。事實上zeroclipboard產生出來的dom元素結構,是希望left跟top屬性是相對'clip_container' 這個元素的。把clip_container元素加上style="position:relative;"再測試。

firefox,chrome下正常了,IE9,沒反應。

用工具看產生出來的div和flash,發現div和flash的height值為0(會在頁面上不顯示)。猜測原因可能是span的offsetHeight會被IE解釋成0, 還是嘗試各種方法最後發現把<span id="clip_link" >元素加上屬性style="display:inline-block"問題就解決了(直接用block會出現flash的寬度佔據span所在行的整行)

目前還沒有在萬惡的IE6下測試。大概的問題原因也知道了,但是因為對offsetWidth,offsetHeight這些東西和各瀏覽器對各種標籤的解釋差異 都沒有那麼清楚,還是花了不少時間在這個小東西上面-_-!

寫下來,希望能幫到碰到類似問題的朋友

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.