JavaScript 在 Safari 中不起作用,但在 Firefox 和 Chrome 中起作用
Posted
技术标签:
【中文标题】JavaScript 在 Safari 中不起作用,但在 Firefox 和 Chrome 中起作用【英文标题】:JavaScript doesn't work in Safari but does in Firefox and Chrome 【发布时间】:2020-03-25 03:54:40 【问题描述】:我有一个要使用 Parsley 验证的表单。提交按钮具有以下 javascript 代码,以便通过 css 进行动画处理。这在 Firefox 和 Chrome 中完美运行,但在 Safari(桌面和 ios)中什么也不做。表单验证得很好,但动画没有运行。
我追踪到返回 true;陈述。如果我将其设置为返回 false; Safari 可以正常工作,只是没有提交表单。如果我将其设置为返回 true;它适用于我测试过的所有地方,除了 Safari。
我已经阅读了很多关于 Safari 与 jQuery 的工作方式不同的文档,因此必须修改 JS 代码才能使其真正成为跨浏览器。我怎样才能修改它以在任何地方工作?
<script type="text/javascript">
$(function()
$('#login-form').parsley().on('form:submit', function()
$(".loginbutton").addClass("loginactive");
$(".loginbutton").css("background", "transparent");
setTimeout(function()
$(".loginbutton").addClass("loginsuccess");
$(".loginbutton").css("background", "none repeat scroll 0 0 #ffffff");
, 3700);
return true;
);
);
</script>
【问题讨论】:
尝试在 setTimeout 中使用bind()
,例如 setTimeout(function() ... .bind(this),250);
不会改变任何东西来添加它。感谢您的尝试。
【参考方案1】:
答案是 Safari 将停止加载另一个对象(python 脚本、另一个 url 等)时的所有动画,并且您基本上无能为力。它只会显示css动画的第一帧。所以,我所做的是修改登录按钮,使其在提交表单时看起来与显示登录不同。
【讨论】:
以上是关于JavaScript 在 Safari 中不起作用,但在 Firefox 和 Chrome 中起作用的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript 在 Safari 中不起作用,但在 Firefox 和 Chrome 中起作用
javascript window.open 在 safari 和 chrome 中不起作用
Javascript clipboard.readText() 在 IOS Safari 中不起作用?
Javascript HTML5 play() 在 ios9 Safari 中不起作用?
Sharepoint 2013 站点 NTLM 身份验证 javascript doPostBack 在 Safari 和 iPad 中不起作用