Safari iOS Form Bug (?)
Safari iOS Form Bug (?)
我有一个简单的网页,它在Safari模拟器和OSX Safari中正常工作,但它会在完成表单后重新加载网站。我运行的是最新版本的iOS(9.2 13C75)。该页面使用html5/css3编写,并使用Javascript和bootstrap css。jQuery用于将页面动态加载到指定的div中。基本的web逻辑是:
- 加载主html页面
- onload,jquery获取内容页面
- 从导航栏选择操作(iosTest)
- jQuery获取加载表单
- 按"完成",清除页面,显示文本。。。或
- 按cancel,清除页面,jquery获取cancel消息
步骤5工作,然后Safari重新加载原始URL
步骤6似乎永远不会起作用,Safari只是重新加载原始URL
我向所有人提出的问题是"这是一个已知的错误吗?有解决办法吗?还是我动态加载表单真的很愚蠢?"
主HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>ios Mobile Safari Test</title>
<link href="dist/css/bootstrap.min.css" rel="stylesheet">
<link href="css/ios_test.css" rel="stylesheet">
</head>
<body onload="initialSetup('html/ios_about.html','body_cell')">
<div class="navbar navbar-default navbar-fixed-top" role="navigation" id="topNav">
<div class="container" id="navbar">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" id="welcome" onClick="goHome('html/ios_about.html','body_cell')">ios Mobile Safari Test</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li id="iostest"><a onClick="goiosTest('html/ios_dialog.html', 'body_cell')">iosTest</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
<div class="noBorder" id="SD_Main">
<div class="container" id="leftNav"></div>
<div class="container" id="body_cell"></div> <!-- /container -->
</div>
<div class="container" id="test" width="100%"></div>
<div class="container" id="debug" width="100%"></div>
<script src="js/jQuery/jquery-1.11.3.js"></script>
<script src="dist/js/bootstrap.min.js"></script>
<script src="js/iosTest.js"></script>
</body>
</html>
JavaScript(iosTest.js)
var body_cell = "#body_cell";
function goHome(pageToLoad, target)
{initialSetup(pageToLoad, target);}
function initialSetup (pageToLoad, target)
{
$.when($.get(pageToLoad) ).done(function (xml_stream)
{ $("#"+target).empty();$("#"+target).append(xml_stream);});
}
function goiosTest(pageToLoad, target)
{
$.when($.get(pageToLoad) ).done(function (xml_stream)
{ $("#"+target).empty();$("#"+target).append(xml_stream);});
}
function ios_postDialog(comment, o_name, c_name, Create)
{
$(body_cell).empty();
$(body_cell).append("<h2>dialog completed</h2>");
}
function ios_cancelDialog()
{
$.when($.get("html/ios_alt.html") ).done(function (xml_stream)
{ $(body_cell).empty();$(body_cell).append(xml_stream);});
}
表单
<div class = "container" id="SD_dialogBox">
<h2>SSample Dialog Box.</h2>
<form class="form-horizontal" role="form">
<div class="form-group">
<label for="c_name" class="col-sm-2 control-label" >Client Name:</label>
<div class="col-sm-8">
<select id="c_name"></select>
</div>
</div>
<div class="form-group">
<label for="o_name" class="col-sm-2 control-label" >Opportunity Name:</label>
<div class="col-sm-8">
<select id="o_name" ></select>
</div>
</div>
<div class="form-group">
<label for="comment" class="col-sm-2 control-label">Comments on Opportunity - anything that is relevant to you.</label>
<div class="col-sm-8">
<textarea class="form-control" id="comment" rows="5"></textarea>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-8">
<button class="button-wide" id="submit" onClick="ios_postDialog('comment', 'o_name', 'c_name', 'Create')">Save this Information</button>
<button class="button-wide" id="cancel" onClick="ios_cancelDialog()">Cancel</button>
</div>
</div>
</form>
</div>
感谢您的反馈。原来是支持代码中的一个错误。在地下深处,一个JS函数正在被调用,但它并不存在。iOS safari不喜欢这样,并在错误发生时重新加载了网站。
相关文章:
- 如何确定javascript已经完成了某些操作.ios上的
- 压缩phonegap中ios的图像插件
- React Native通过Navigator将用户输入数据传递到选项卡栏IOS中的组件
- 如何在iOS应用程序中从Firebase中删除超过6小时的数据
- 是否可以使用iframe API在iOS浏览器上播放youtube视频
- iOS 中的按钮触摸状态
- 在iOS 4.3中未调用UIWebView shouldStartLoadWithRequest
- 在iOS和Android上使用React native时,我还能使用本机第三方lirbraries吗
- 谷歌地图根本不适用于Meteor-iOS
- Facebook登录不适用于iOS的应用内浏览器
- 绕z轴旋转时出现iOS陀螺仪错误
- 触摸启动事件未在iframe iOS 6中启动
- 有没有一种方法可以检测ios<>使用jquery和触发器操作形成导航按钮
- HTML5 Canvas drawImage ratio bug iOS
- iOS 7 javascript XMLHttpRequest bug
- Safari iOS Form Bug (?)
- iOS 8 Bug-当设备从睡眠状态返回时,OnUpdateReady再也不会调用
- 滚动y,但固定到x - bug在ios
- 是iOs模拟器在方向检测方面的bug
- Ios 9移动safari在transform scale3d和translate3d中有一个闪烁的bug