2012-10-23 21 views
0

我正在使用guiders.js給用戶提示。 雖然div在iframe內部時使用attachTo參數有問題。Guiders.js attachTo不工作iframe

這是導向器的代碼:

guiders.createGuider({ 
    attachTo: '#'+thisId, 
    buttons: [{name: "Ok", onclick: function(){ 
closeEdit(); 
    guiders.hideAll(); 
    } 
    }], 
    description: "<input value='new text'>", 
    id: "guiderToChangeParameter", 
    position: 3, 
    title: "title", 
    width: 400 
    }).show(); 

如果thisId指的是頁面內一個div id,則attachTo工作。

如果thisId引用了iframe中的div,則引導者會顯示但未附加到div

這是guiders.js庫的正常行爲嗎?有沒有一種方法可以真正附加到一個iframe中的div?

jsfiddle顯示attachTo工作:http://jsfiddle.net/y3mzP/1/ jsfiddle不允許iframe,所以我不能重現不幸。

回答

0

我不希望任何JavaScript能夠訪問iFrame,而不僅僅是guiders.js。如果您想在父頁面上的某個元素附近放置一個元素,則必須使用iFrame消息發佈(https://developer.mozilla.org/en-US/docs/DOM/window)。 postMessage)在內部有一個腳本,將目標元素的x和y位置傳遞給父框架上的腳本。

在你的情況下,你也可以創建一個絕對定位在父頁面上的透明div,使得它大約在你期望的內部元素的位置。然後讓指南附上那個透明的div。