我不确定这是一个合适的问题,但IOS的新Chrome应用只是一个UIWebView吗?
如果是这样,那么可以安全地假设它和移动Safari之间不应该存在任何渲染差异吗?
我试图用javascript关闭一个子窗口,在Firefox中一切正常,但在chrome中窗口不关闭
这是我正在使用的
$(document).ready(function() {
if (window.opener && !window.opener.closed)
window.opener.location = "http://www.website.com"
window.close();
});
Run Code Online (Sandbox Code Playgroud)
我尝试了谷歌的建议,但无济于事.
任何有类似问题或知道解决方法的人?
我用window.open()打开一个新窗口,将用户重定向到oauth登录页面.但是,在成功登录后,当用户被重定向回我的应用程序时,带有window.open调用的上一个窗口不会在ios中自行关闭.
在iPad上,它会关闭错误的窗口,在iPhone上它根本不会关闭窗口.该代码适用于Android和桌面版Chrome和Firefox.
经过多次考虑,我发现了一个修复程序(如下所示).如果有人有任何更好的想法或根本原因,请在此处发布.
我正在我的网站上实现一个绘图应用程序,并尝试在用户绘制画布时防止过度滚动.尽管尝试了几种报告的解决方案,但我无法禁用Chrome的pull-to-refresh.
根据https://developers.google.com/web/updates/2017/11/overscroll-behavior,以下一行css应该可以解决这个问题..即时刷新和烦人的用户体验仍然存在.有任何想法吗?
<!DOCTYPE html>
<html>
<style type="text/css">
body {
/* Disables pull-to-refresh but allows overscroll glow effects. */
overscroll-behavior-y: contain;
}
</style>
<body>
<h1>Simple Site</h1>
</body>
<script type="text/javascript">
</script>
</html>
Run Code Online (Sandbox Code Playgroud) 我遇到一个问题,横向版本的 Chrome 在屏幕的左侧和右侧添加了空白区域。
以下是规格:
我有一个“厨房水槽”方法,我已经尝试了一切来删除这些白条并使背景全屏显示。
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover">
Run Code Online (Sandbox Code Playgroud)
以及以下 CSS:
html{
margin: env(safe-area-inset);
padding: env(safe-area-inset);
}
html, body, img{
width: 100%;
height: 100%;
margin: 0;
box-sizing: border-box;
padding: 0;
width: 120vw;
}
img{
margin: env(safe-area-inset);
object-fit: cover;
}
Run Code Online (Sandbox Code Playgroud)
这是一个可以玩的现场演示:
https://codepen.io/EightArmsHQ/pen/JjYygPg
我在iOS Safari中获得了很好的结果,但似乎就到此为止了。已提出类似问题env(safe-area-inset-top) 不适用于 Android Pie + WebView 69
我想知道这是否是 Chrome iOS 的错误,或者我的实现是否不正确。值得注意的是,当添加这些属性时,Safari确实会删除空格。
在一个文件中,我有
<a href="t2.html" target="_blank">go</a>
Run Code Online (Sandbox Code Playgroud)
在t2.html我有
<script>
document.write(window.opener);
</script>
Run Code Online (Sandbox Code Playgroud)
在iOS上的Safari上,在Mac上的Chrome上以及几乎所有其他浏览器上,它都会打印出[object Window]你想象的样子.
在iOS上的Chrome上,我得到了null.
如何进入打开此窗口的窗口?
XMLHttpRequest当您包含外部JavaScript文件时,iOS上的Chrome似乎会创建一个对象.它似乎将此对象分配给带有标识符的全局变量a,覆盖您可能已经拥有的任何内容.
测试用例:
HTML文件(test.html):
<!-- ... -->
<script>
var a = 1; // Value is not important for this demonstration
</script>
<script src="test.js"></script>
<!-- ... -->
Run Code Online (Sandbox Code Playgroud)外部JavaScript文件(test.js):
setTimeout(function () {
document.write(a); // [object XMLHttpRequest]
a.onreadystatechange = function () {
document.write(a.readyState); // Alternates between "1" and "4"
};
}, 100);
Run Code Online (Sandbox Code Playgroud)将XMLHttpRequest出现反复提出请求(在某个地方......路由通过代理设备连接和监控请求不显示任何东西)和onreadystatechange反复执行的事件处理程序.
更多观察:
setTimeout)window.__gchrome_CachedRequest属性__gchrome_CachedRequest === a有没有人遇到过这个?有没有办法阻止它发生(注意......我不能重命名a)?如果有人知道为什么会这样做,我很想知道.
更新
我刚刚注意到这实际上也发生在内联脚本中,而不仅仅是当你包含一个外部脚本时.我最初没有注意到这一点,因为我没有setTimeout …
您好,我想知道 safari 的 viewport-fit=cover 是否有解决方法或等效方法将网站扩展到 iPhone 缺口之外,但适用于 Chrome。
<meta name="viewport" content="user-scalable=no, initial-scale=1, minimum-scale=1.0, width=device-width" viewport-fit=cover/>
我读过并尝试过的所有内容似乎都证实,包括 viewport-fit=cover 在内,在 Chrome iOS 上不起作用。
这是我找到的资源页面:https ://webkit.org/blog/7929/designing-websites-for-iphone-x/
我正在制作一个网页,其中包含用于 3D 模型的 Three.js 渲染的单个画布,并且希望整个场景覆盖该页面。
我正在从iOS下载文件(pdf,excel,txt,png).iOS没有文件系统,这是下载的问题.我创建了一个代码,根据操作系统和导航器下载blob文件(如果需要).它适用于桌面(最新版本的Chrome和IE),移动Android(Chrome,原生导航器)和iOS iPad2(Safari).
现在,Chrome iOS应该像Safari移动一样,但算法不起作用,Chrome iO通过在新标签页中打开来下载文件,但页面为空.
我创建自己的blob来创建downloadUrl.
这是下载功能的一部分.
var URL = window.URL || window.webkitURL;
var downloadUrl = URL.createObjectURL(iobBLOB);
var newWindow = null;
if (typeof a.download === 'undefined') {
var newWindow = null;
newWindow = window.open(downloadUrl, '_blank');
setTimeout(function() {
newWindow.document.title = isbFilename;
}, 10);
}
Run Code Online (Sandbox Code Playgroud)
在iPad 2和iPhone 4上进行调试
试图下载excell,pdf,txt和Png文件.
设备没有文件系统.
感谢您的帮助......如果您需要更多信息,请告诉我这是我的第一个问题.
我对iOS上的第三方浏览器感兴趣(Chrome或FireFox)
是否所有人都使用WkWebview或UIWebVIew显示然后网页,但做了许多额外的工作,如缓存等?
那么,如果我想在iOS上编写浏览器,我必须使用它WkWebview来显示网页并将其包装起来以做更多的事情吗?
当我在Chrome for iOS(iPhone和iPad)上测试我的网络应用时,我注意到用户代理字符串附加了一个奇怪的ID,例如:
alert(navigator.userAgent)
Run Code Online (Sandbox Code Playgroud)
会产生这样的东西(注意最后的"3810AC74-327F-43D7-A905-597FF9FDFEAB"部分):
Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X; en-us) AppleWebKit/534.46.0 (KHTML, like Gecko) CriOS/21.0.1180.77 Mobile/9B206 Safari/7534.48.3 (3810AC74-327F-43D7-A905-597FF9FDFEAB)
Run Code Online (Sandbox Code Playgroud)
此ID似乎是特定于标签的,并且即使在访问其他站点时也会持续存在.
我的问题是,如果有人知道这个以及它可能用于什么?
更新:
附加此GUID以克服UIWebView的限制.荣誉对埃里克在评论指出了这一点.
我正在使用事件处理程序转到上一个URL /路由:
'click #back': ->
history.back()
Run Code Online (Sandbox Code Playgroud)
这适用于Chrome桌面,Chrome devtools移动设备视图以及物理设备本身的Safari(iOS 8.1.2),但不适用于设备上的Chrome.行为是:
这是移动Chrome问题,还是应该使用某些铁路由器API Router.back()?
以下代码示例适用于:
不适用于:
var oReq = new XMLHttpRequest();
var URLToPDF = fileUrl;
oReq.open('GET', URLToPDF, true);
oReq.responseType = 'blob';
oReq.onload = function () {
const file = new Blob([oReq.response], { type: 'application/pdf' });
const fileURL = URL.createObjectURL(file);
window.open(fileURL, '_blank');
};
Run Code Online (Sandbox Code Playgroud)
Axios(fileUrl, {
method: 'GET',
responseType: 'blob',
})
.then((response) => {
const file = new Blob([response.data], { type: 'application/pdf' });
const fileURL = URL.createObjectURL(file);
window.open(fileURL);
})
.catch((error) => {
console.log(error);
}); …Run Code Online (Sandbox Code Playgroud) chrome-ios ×13
javascript ×7
ios ×6
blob ×2
css ×2
download ×1
ios-web-app ×1
ipad ×1
iphone ×1
iron-router ×1
meteor ×1
privacy ×1
reactjs ×1
security ×1
uiwebview ×1
user-agent ×1
viewport ×1
wkwebview ×1