不能在safari上的onsubmit表单事件中使用javascript加载图像
Can't load image using javascript within onsubmit form event on safari
我想在表单事件"onsubmit"中加载一个JS图像,而不跳过表单的提交动作。
我所做的是:
var img = new Image();
img.onload = function(){
myfunction();
};
img.src = URL_FOR_PHP_SCRIPT_TO_DO_SOME_LOGIC;
window_sleep(750); //Custom method to hang the CPU for 750ms until the request to call the image is called.
这个逻辑对我来说是必须的,我的意思是我不想使用settimeout来推迟表单提交,我必须以这种方式调用URL_FOR_PHP_SCRIPT_TO_DO_SOME_LOGIC,因为这个代码是在来自不同域的JS文件上。这种逻辑在所有浏览器上都工作得很好,并且发送了调用图像的请求-这正是我需要的-但是在safari上它不调用图像请求,并开始直接发布表单。当浏览器是safari时,我试图在包含表单的页面上添加一个"onunload"事件,但这也没有帮助,表单仍然直接提交数据,而没有开始发送加载图像的请求。
你不能挂Safari和Firefox4+与while循环,这是我猜你正在做你的睡眠功能。
唯一可以挂起浏览器的真正方法是进行同步Ajax调用而不是图像请求。同步调用的缺点是它会锁定浏览器,直到它回来。慢连接可能意味着表单提交前需要等待很长时间。另一种选择是提交表单到您的服务器,然后转发到另一个服务器。
相关文章:
- HTML外部javascript加载另一个javascript
- 什么是谷歌地图'的javascript加载策略
- 使用javascript加载knockoutjs组件
- Javascript - 加载函数运行时未定义的变量
- 使用javascript加载并显示来自另一个域的页面,而不显示原始URL
- 使用Javascript加载页面
- Javascript加载时间过长
- 使用纯Javascript加载外部URL内容
- 如何在使用javascript加载页面时直接设置对象参数
- 每次使用 Javascript 加载页面时增加一个数字(变量)的简单方法
- 将外部 SVG 和包含 JavaScript 加载到 HTML 中
- 是否有一个 JavaScript 加载器可以将套接字的数量限制为 1 或 2
- 使用本地生成的代码通过 JavaScript 加载 IFrame
- Jquery/javascript:加载页面时不需要的重复函数
- 一段时间后使用Javascript加载网页ASP.net
- 在https网站上用javascript加载封面图片
- 如何使用cURL获取JavaScript加载的网络内容
- 如何检查是否使用javascript加载了框架?-不是加载,不是iframe
- I'我正在尝试将JavaScript加载到我的UIWebView中
- 如何用Javascript加载本地文件