我正在使用guiders.js向用户提供提示。 虽然当div在iframe中时使用attachTo参数时遇到问题。
以下是指导者的代码:
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 working:http://jsfiddle.net/y3mzP/1/ jsfiddle不允许iframe所以我不能重现。
答案 0 :(得分:0)
我不希望任何JavaScript能够访问iFrame,而不仅仅是guiders.js。如果您希望父页面上的元素位于父页面上的元素附近,则必须使用iFrame消息发布(https://developer.mozilla.org/en-US/docs/DOM/window。 postMessage)在内部有一个脚本将目标元素的x和y位置转发到父框架上的脚本。
在您的情况下,您还可以创建一个绝对位于父页面上的透明div,使其大致位于您期望内部元素的位置。然后让Guiders附加到那个透明的div。