Zurb Foundation 5 & Windows Phone 8: Site not always full screen - windows-phone-8

We have been developing a mobile site using Zurb Foundation 5. It works almost perfectly, except for some unknown reason Windows Phone 8 phones sometimes fail to render the site in full screen. I say sometimes as in maybe 75% of the cases the site is shown correctly but about every fourth time it's not.
Here's a screenshot from Lumia 920 which shows the problem:
The problem gets fixed if the phone is rotated to landscape (and back to portrait).
We're using the following meta info on our site:
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" />
Also included is the following script in the header:
<script type="text/javascript">
if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
var msViewportStyle = document.createElement("style");
var mq = "##-ms-viewport{width:auto!important}";
msViewportStyle.appendChild(document.createTextNode(mq));
document.getElementsByTagName("head")[0].appendChild(msViewportStyle);
}
</script>
It feels like that the phone sometimes starts rendering the site too early. We have a splash screen with a centered progress ring and from that we can see that progress ring is at first usually on the left side of the screen (not full width) but it then gets centered (site goes full width). But sometimes the progress ring stays of the left and in these cases the site isn't rendered full screen. We haven't experienced this problem with Android or iPhone, only with Mobile IE.
Any ideas?

I have faced same problem and and yet not solved in windows Phone 8 App. But when I upgraded same app to Windows Phone 8.1 the problem is solved. NO CSS and any JavaScript code is working like those link. Reason is in Windows Phone 8 WebBrowser Control is using IE 10 and in IE 10 there is a BUG. Microsoft tells that bug is fixed but it is not. This is bug in IE 10. In Windows Phone 8.1 Webview for Store App and WebBrowser for SilverLight App which use IE 11. Bug is fixed in IE 11 not in IE 10.
Another Link for your Help
I have searched more than a week for same problem but I did not get any solution.
If you got solution Please post here
Thank You,

Related

safe-area-inset-bottom not working on ios 15 safari

I'm trying to get my website to fit inside my phone screen. I have tried many variations of env(safe-area-inset-bottom) and constant(safe-area-inset-bottom) but both always return 0px (I've been using an app called Inspect to debug CSS on my iPhone 13).
Here's a link to the github repo. All code that relates to this issue should be in /src/app.tsx. Here is a link to the live site if you want to see the problem yourself.
UPDATE: I've been doing some testing and have found that in portrait mode, safe-area-inset-* is ALWAYS 0px, but in landscape mode it works as expected. Does this mean that safe-area-inset-* isn't the correct solution for ios 15 safari? Clearly the url bar obscures the 'safe area' in portrait mode...
I've made sure to add <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" /> to my head tag but this has no effect. Could someone please explain how I can ensure that my site doesn't go past the bottom URL bar on ios 15 Safari? I've attached screenshots from my phone showing the problem:
I think I made it work using -webkit-fill-available the other day which respects safe area.
body {
min-height: -webkit-fill-available;
}

Responsive Design: CSS Not loading on Iphone 5 Safari

I'm searching for a reason and a hint why my website (Link) is not shown correctly with responsive design (based on Twitter Bootstrap) on iPhone5 Safari Browser while it is completely working correctly on desktop using IE, Chrome or Safari. Also on HTC & Samsung Galaxy the website is working correctly.
By Googling I only could find 2 solutions which are
A) cleaning the cache of the browser and
B) using
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1, maximum-scale=1">
Both doesn't fix the problem. Also simulating the iPhone 5 Device in Google Developer Tool shows the website correctly while in reality the page does not show the CSS design.
Here the:
False Responsive Design Screenshot
Any idea what I need to look for as I'm running out of possible ideas.
Based on the screenshot we moved away from the Iphone theory and discovered that there was simply a problem in one of the CSS files. We had a false symbol (?) in the file and this triggered that the full CSS was not loaded correctly. It seems though that all other devices were able to compensate the mistake.
Download bootstrap to your web server and include the path in the page, so don't have to rely on another source that could go down. This should fix your problem, if not, then just try Cordova. It is possible that your your phone is being blocked by the bootstrap site because the it is going over mobile network or something like that.
Source: Personal Experience
Regards,
PRO

iPhone 6: Text is blurry in WebView wrapper app. Looks great in website/Safari

I have an iOS app that basically shows the website inside a webview. On the iPhone 6/6+, the text is blurry when viewed in the app, but looks great when viewed as a regular webpage in Safari. Everything is basically the same in the app and website: same CSS rules, etc., and:
<meta name="viewport" content="width=device-width, initial-scale=1">
I have seen this How to fix blurred text on an iPhone 6 (+), but there's just a comment saying to "add native support." Another answer mentioned to add a new launch image. Is that going to fix blurry text? I'm also not sure where this would be added.
It would be a huge plus if this can be fixed in the HTMl/JS/CSS as opposed to making an update to the native wrapper.
If your app isn't built to support the iPhone 6/6 Plus, then it will emulate an iPhone 5, and just scale things up.
So, yes, you should build an submit a new version of the app, built against the latest iOS SDK, with a launch screen.

iOS 8: web app status bar position and resizing problems

When setting the meta tags
apple-mobile-web-app-capable
and
apple-mobile-web-app-status-bar-style
to create a full screen web app, the iOS status bar is at the top of the screen (translucent) and there's an additional empty black bar at the bottom.
Here's my code:
<!DOCTYPE html><html><head><meta charset="utf-8">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta name="apple-touch-fullscreen" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
</head>
<body><h1>Test</h1>
<p>Capture a photo using camera</p>
<input type="file" capture="camera" accept="image/*">
</body></html>
There's an additional problem with the tag apple-mobile-web-app-status-bar-style. After taking and accepting a photo via camera input black bars appear on the sides of the screen.
I'm using iOS8 GM on an iPad3.
I think this might be an iOS 8 bug but Apple doesn't seem to care about my bug report :(
Does anyone know a solution/workaround for this problem?
Update 1:
Apple marked my bug report as Duplicate (Closed) on Sept. 19th.
Update 2:
Bug is fixed in iOS 8.3 Beta 1
Technically this is not an answer to your question, but I have been documenting my findings while trying to resolve this issue myself, and here is what I've found so far. I was going to post it as it's own question, but figured it would be closed as a duplicate.
On iOS8 devices running pinned web applications. Regarding the tag :
<meta name="apple-mobile-web-app-status-bar-style" content="black">
From the Apple developer reference:
If content is set to default, the status bar appears normal. If set to black, the status bar has a black background. If set to black-translucent, the status bar is black and translucent. If set to default or black, the web content is displayed below the status bar. If set to black-translucent, the web content is displayed on the entire screen, partially obscured by the status bar. The default value is default.
To enable this functionality, you need to use
<meta name="apple-mobile-web-app-capable" content="yes">
In iOS6 and 7 this works more or less as expected.
In iOS8 this appears to be broken entirely. For example, iOS 8.0.2 running on an iPad Air in portrait has the following behaviour:
black results in a transparent background. There is a solid black bar at the bottom of the screen
default or not setting a value results in a transparent background and a solid white bar at the bottom of the screen
black-translucent results in a transparent background, but no annoying bars at the bottom of the screen
In all cases, the content appears "beneath" the bar. i.e. the bar does not push content down.
On an iPhone6, the status bar does not display at all in landscape. In portrait however, the following behaviour:
black works as expected, and content is pushed down (wow!!!)
default has an empty white bar at the top
black-translucent results in a transparent background, with content underneath
I have not had the opportunity to test on an iPhone6+
The iOS simulator in xcode does not appear to give reliable reproduction of the behaviour that occurs on real devices.
I have tried changing it dynamically with javascript, but it appears to have no effect.
Just to make this even more interesting/frustrating, you can COVER the status bar (clock/wifi etc) by setting styles on the html element. e.g.
html {background: black;}
body {background: #DDD; margin-top: 20px}
The same issue documented elsewhere:
https://discussions.apple.com/thread/6557230?start=0&tstart=0
The problem existed since iOS6.
I had previously posted to Apple's bug report with all details you are providing today, and later was marked as duplicate. This was 2 years ago and unfortunately today I discovered that it got even worst.
The original bug report has id 11966202 and is still (Open).
Since you have the same problem the only thing you could do is confirm the bug which will escalate it and they will fix it in the future.
As I said I am looking for a solution for more that enough to tell you there is no workaround.
The problem can be reproduced on all iOS devices, but behaves differently based on the screen size and orientation.
With iOS 8 we now experience a glitch where the viewport becomes just a very small portion of the screen and it closes/crashes completely.
EDIT: Apple Ticket is now closed
As of Monday, Apple had closed the ticket and I can confirm that using 8.1 finally resolves the camera and status bar issues I was having. Hope it resolved your issues too :)
The issue comes from using <meta name="apple-mobile-web-app-status-bar-style" content="black">In order to get rid of the black bar at the bottom of your app, you will need to use:<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> Using black-translucent will keep your app looking the same in both iOS7 and iOS8. You will still need to adjust any content at the top of your app to clear the iOS status bar icons.
Apple fixed this bug in iOS 8.3 beta 1
To expand on all of the above, my solution is:
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
Then create a custom CSS for all the elements that need to shift down by 20px, particularly any position: fixed; top: 0px; that exists in your CSS for normal browser [desktop/mobile] view.
Add the custom CSS into the head section, below CSS links with the following script [my working example]
<script type="text/javascript">
if (window.navigator.standalone) {
document.write("<link type=\"text\/css\" rel=\"stylesheet\" media=\"all\" href=\"assets/css/style-body-ios8.css\" charset=\"utf-8\" \/>");
}
</script>
My result is desktop/mobile browser website view is as normal, then website added to home screen as a web app, on launch opens fullscreen, with status bar looking like it used to pre ios8 [fyi, I added a background color of black to my fixed header css for the status bar to show as black background
Tested on iPad/iPhone/iPod running ios 8.0.2 - all good. FYI, tested on old iPod ios 6.1.6 expecting an extra shift down of 20px and wasn't there - bonus!
It is worth noting that setting the status bar style to 'black' is working as expected as long as you open the Web App with your iPad in Portrait. Then even if you rotate the iPad the black bar is correctly visible.
The problem is only when you enter the Web App in landscape, at least for me. I am using iPad 3 with IOS 8.1, and I believe it is still the same in 8.3
Just add a 20px high div to the top of your app and let that act as that status bar
apple-mobile-web-app-status-bar-style is inactive in iOS 8.
If you add a fixed div on top, only add it for OS 8_0
if (navigator.appVersion.indexOf("OS 8_0 like Mac") > 0) ...

Weird whitespace on the bottom of page (mobile)

My client has reported a stange issue with his website. URL of the web-site is your-montenegro.me
A stange white space appears at the bottom of the page when it's loaded on Android-based browser. Here are the screenshots:
Huawei Ascend, Android 4.3: http://i60.tinypic.com/90vuyw.png
HTC Desire S: http://i61.tinypic.com/2pyayk1.jpg
When I try to open this web-site:
Windows Phone 8.1 IE10: No white-space
Any Windows/Linux-based browser: No white-space
Do you have any idea what to try?
I have tried playing view browser viewports but wasn't able to come with a solution.
Edit:
Also, when I load this page on Huawei Ascend first time, site appears a bit zoomed in (which is totally fine/expected), but scrolling down still reveals the white-space.
Edit2 (screenshots):
Huawei Ascend:
HTC Desire S
I tested the site using the viewport below and it appears to fix the issue.
<meta name="viewport" content="width=device-width, user-scalable=yes">
The problem is because most mobile devices have a pixelRatio of 2. This causes your forced height of 960px to become 1920px because the mobile browsers believes that's what you meant. Since your background isn't 960px you get all the white space.
I only tested this using the Chrome Emulator which you can learn more about at https://developer.chrome.com/devtools/docs/mobile-emulation which lets you emulate a ton of mobile devices easily.