Iframe文件上传和NoScript插件
Iframe file uploading and NoScript plugin
我有一个ajax文件上传的表单。Javascript用表单创建iframe,将输入和文件一起移动到表单中,然后提交表单。
这工作没有任何问题,但流行的NoScript插件在Firefox中认为它是XSS和把我的POST请求变成GET。所以它不起作用。有没有可能绕开这个问题?
代码(使用jQuery)
function add_input_file(div) {
var input = $("<input>").attr("type", "file").attr("name", "file");
input.appendTo(div);
input.change(function() {
$(this).off();
var iframe = $("<iframe>");
iframe.appendTo($("body"));
iframe.load(function() {
$(this).off();
var input = $(this).data("input");
var form = $("<form>").attr("method", "post").attr("action", "/send").attr("enctype", "multipart/form-data").attr("accept-charset", "UTF-8");
form.appendTo($(this).contents().find("body"));
input.appendTo(form);
add_input_file($("#att"));
form.submit();
});
});
}
$(function() {
add_input_file($("#att"));
})
这不是一个代码修复,但我使用这个jQuery表单插件做ajax上传。我在安装了Firefox和NoScript的情况下测试了这个示例,一切运行正常。
如果您不想使用自定义插件,请查看源代码,看看它是如何完成的。
我建议你在<noscript>
上显示一个简单的文件表单,因为脚本已经关闭,你不能通过使用更多的脚本来解决问题。
相关文章:
- 如何在Angular2中使用jQuery插件
- 可以前端maven插件使用节点,npm已经安装
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- 我的jQuery插件参数没有正确启动,遇到了问题
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- TableExport jquery插件:文件名和扩展名问题
- 如何在使用selectBoxIt JQuery插件时检测选项更改
- jQuery插件-从插件中调用公共方法
- 压缩phonegap中ios的图像插件
- jQuery粘性插件可变顶部间距
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 高亮显示与数组字符串一起使用时文本插件中断
- 如何为jQuery屏蔽输入插件创建一个允许字母数字、空格和重音字符的掩码
- Wordpress插件根据需要加载js和css
- jQuery Wan Spinner插件的多个字段
- jQuery Facebox插件:关注弹出的外观
- CKEditor v4:自制插件中对话框的动态标题
- Iframe文件上传和NoScript插件
- 如果存在NoScript,如何检查NoScript(浏览器插件)并在屏幕顶部包含栏