javascript – jquery thickbox引用问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – jquery thickbox引用问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2625字,纯文字阅读大概需要4分钟。
内容图文
![javascript – jquery thickbox引用问题](/upload/InfoBanner/zyjiaocheng/775/013bafbd790f48adaebebf36a4fdce9e.jpg)
完全重述了我的问题:
问题:使用Mozilla Firefox 3.6和4.0丢失对iFrame的引用
更多信息:
– 在Internet Explorer 8 64位和32位版本中正常工作.
如何重现?在Mozilla中:打开编辑手风琴菜单.单击“编辑器操作”链接,在编辑器中填写一些随机文本,然后单击“bestand opslaan”.填写名称并单击“保存”.编辑器的内容将以HTML格式下载.
通过单击外部或指定按钮关闭保存文件对话框.再次单击“bestand opslaan”按钮,尝试将内容保存到文件中.你会发现什么都没发生.
IE8中没有问题.尝试在那里打开它.
Firebug第二次打开保存对话框时告诉我:
iFrame.document is null
示例链接:http://www.newsletter.c-tz.nl/
更多信息:
– 从thickbox切换到colorbox尝试解决此问题,因为很长时间不支持thickbox.
– colorbox给了我同样的问题所以我不认为这是这个.
– 尝试谷歌搜索iframe引用错误和喜欢,没有发现任何东西.
– 尝试将iframe代码放在colorbox脚本调用的div之外,它保留了引用但不是当我把它放回到div中时.
感谢:JohnP提出打开’追捕’.
编辑:
我想也许saveFile.php文件造成麻烦的iframe的父,但是从动作变量在editor.php脚本中删除之后仍然失败,相同的错误打开第二次对话之后.
有人可以编写一个脚本,按名称迭代iframe,当找到严格的iframe时,将它引用到var吗?我想尝试但不知道如何..
解决方法:
我无法解释为什么它第一次用于Firefox,但在Firefox中,用于获取iframe的功能与IE:How to get the body’s content of an iframe in Javascript?不同.
所以,将您的JavaScript函数“saveToFile”替换为:
function saveToFile() {
var saveAsFileName = document.getElementById('saveAs_filename').value;
var currentContent = tinyMCE.editors["editor_textarea"].getContent();
var editorFileName = document.getElementById('editor_filename');
var iFrameTag = document.getElementById('saveAs_Iframe');
var iFrame;
if ( iFrameTag.contentDocument )
{ // FF
iFrame = iFrameTag.contentDocument;
}
else if ( iFrame.contentWindow )
{ // IE
iFrame = iFrameTag.contentWindow.document;
}
var inframeEditorFileName = iFrame.getElementById('editor_filename');
var inframeEditorContent = iFrame.getElementById('editor_textarea');
editorFileName.value = saveAsFileName;
inframeEditorFileName.value = saveAsFileName;
inframeEditorContent.value = currentContent;
iFrame.editor_self.submit();
}
我用Firebug替换了这个功能,它对我有用.
更新:
你也可以使用一个crossbrowser解决方案,更简单,感谢jQuery:
function saveToFile() {
var saveAsFileName = document.getElementById('saveAs_filename').value;
var currentContent = tinyMCE.editors["editor_textarea"].getContent();
var editorFileName = document.getElementById('editor_filename');
editorFileName.value = saveAsFileName;
$("#saveAs_Iframe").contents().find("#editor_filename").val(saveAsFileName)
$("#saveAs_Iframe").contents().find("#editor_textarea").val(currentContent)
$("#saveAs_Iframe").contents().find("form[name=editor_self]").submit();
}
内容总结
以上是互联网集市为您收集整理的javascript – jquery thickbox引用问题全部内容,希望文章能够帮你解决javascript – jquery thickbox引用问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。