iOS Safari Crashes loading iframe - ios

This page crashes (well, shuts down Safari) when loaded into Safari on iOS 7.1.x. Note that it does use an iframe. The crash only happens with some pages (like this one), I think due to the page's size (this one is relatively large). Desktop browsers display the page fine.
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta content="en-us" http-equiv="Content-Language">
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body>
<div>
<iframe src="http://en.m.wikipedia.org/wiki/Lance_Armstrong"></iframe>
</div>
</body>
</html>
Fixes?

Related

Smart Banner not coming

I have published my app on iOS Appstore. To show smart banner I use following code on my webpage.
<html>
<head>
<title>Kinjal's Games</title>
<meta name="apple-itunes-app" content="app-id=6444216110, app-clip-bundle-id=com.kinjal.brainbooster"/>
</head>
<body>
Yo
</body>
</html>
When I load webpage, it shows banner for 1 sec and then disappears immediately.
To verify, I tried by using other app's Appstore id. If I try using facebook's app id, it works.
<meta name="apple-itunes-app" content="app-id=284882215, app-clip-bundle-id=com.kinjal.brainbooster"/>
But it doesn't work only with my app id
<meta name="apple-itunes-app" content="app-id=6444216110, app-clip-bundle-id=com.kinjal.brainbooster"/>

Shares with og:video links instead of plays in Facebook app (ios)

I've got a web page i want to share on Facebook.
The page has a set of Open Graph meta datas, including the og:video setup:
<meta property="og:url" content="https://example.com/mypage />
<meta property="og:type" content="website" />
<meta property="og:site_name" content="My Site"/>
<meta property="og:title" content="My Title" />
<meta property="og:description" content="My Description" />
<meta property="og:image" content="https://example.com/mymovie.jpg" />
<meta property="og:video" content="https://example.com/mymovie.mp4"/>
<meta property="og:video:secure_url" content="https://example.com/mymovie.mp4" />
<meta property="og:video:type" content="video/mp4" data-content-type="dynamic">
When shared, and browsed in a web browser on desktop, the video gets embedded - just as expected. However, when browsed inside the IOS Facebook app (iPhone 7, latest version), a click on the play button results in a navigation to the og:url (or maybe rather the shared url, which is the same).
How come?

Can't disable pinch zoom (and double tap) zooming on a web app in iOS Safai

I am trying to disable pinch-zoom on a web app, but the following meta-tag is having zero effect in iOS Safari and iOS Chrome:
<meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0"/>
I tried adding the following to the meta tag, but I'm having no success there either. Pinch (and double-tap) zooming is still enabled.
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
Any insight into why those two meta tags might not be working?
For me following meta tags are working in both the scenarios
This works proper for cordova/Ionic project it disable the double tap/pinch on normal page
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
I open a simple page with using jquery/bootstrap in iOS safari, this also disable the double tap/pinch zoom
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
You may check this codes if you have not tried that :
https://stackoverflow.com/a/11689448/4557505
Also please provide some details about your web app is it default web app like html5/responsive or you are using any cross platform like cordova/Ionic, it will help in checking the specific scenario
a {touch-action: manipulation;} button {touch-action: manipulation;}
document.documentElement.addEventListener('gesturestart', function (event)
{ event.preventDefault();
}, false);
This works Perfectly on safari browser

Metarefresh is failing when Youtube iOS app is installed

Why is one metarefresh to YouTube failing while another is succeeding? And why does it have anything to do with whether Youtube as an app is installed?
We have two metarefresh links that take users to videos from an iOS app.
(1) This page refers properly to Youtube whether the Youtube iOS app is on your device or not:
The invoking link is: http://ourURL/videos/ourpage.html
The receiving HTML page is this:
<!doctype html>
<html>
<head>
<meta http-equiv="Refresh" content="0; url=http://youtu.be/tJ08IHetnbU" />
</head>
<body>
</body>
</html>
(2) The referral page that breaks is designed the same way but works only if the Youtube app is NOT on your iOS device. If the Youtube app is on your device, we see "Playback error. Tap to retry." "Error loading Tap to retry"
The invoking link is: http://ourURL.com/videos/ourpage2.html
<!doctype html>
<html>
<head>
<meta http-equiv="Refresh" content="0; url=http://youtu.be/0FZbh-Cqfg4" />
</head>
<body>
</body>
</html>
The answer turned out to be a caching issue in the YouTube app.
It appears the Youtube app relies on the Safari cache. The Meta-refresh had referred to different video links before - so the new updated links failed.
Interestingly, for whatever reason, Safari is not using its cache and showed the proper video.
After going to Settings, Safari and "Clear cookies and data" - the YouTube App started showing the referral pages properly again.

Facebook App Invites iOS v4 SDK error

I've double checked everything, from my understanding this is all I need to do:
self.inviteContent = [[FBSDKAppInviteContent alloc] initWithAppLinkURL:[NSURL URLWithString:#"http://mywebsite.com"]];
[FBSDKAppInviteDialog showWithContent:self.inviteContent delegate:self];
On mywebsite.com I have this in the heading (example values shown here):
<html>
<head>
<title>My Website</title>
<meta property="al:ios:url" content="appurl://action">
<meta property="al:ios:app_store_id" content="1234567">
<meta property="al:ios:app_name" content="My App">
</head>
<body>
...
</body>
</html>
So the dialog switches over the to the latest Facebook iOS app. I write a message and pick the person I want to send the invite to, hit send and I get this error:
Missing App Link URL
The app link used with this invite does not contain an Android or iOS URL. Developers are required to enter a URL for at least one platform.
What am I doing wrong?
My app handles the custom URL fine because if I enter appurl://action in Mobile Safari it opens my app up.
You need to create an AppLink URL from here/
Choose your application from the list
Fill up the form with equivalent information
Click on Next !
You're done.
Now, you can use that link with your code for invite.
self.inviteContent = [[FBSDKAppInviteContent alloc] initWithAppLinkURL:[NSURL URLWithString:APP_LINK_HERE]];
[FBSDKAppInviteDialog showWithContent:self.inviteContent delegate:self];
The format of that link will be something like https://fb.me/xxxxxxxxxxxxxxxx
All xs will be replace by a digit.
Try to add also og:title and og:type properties, it works for me
<meta property="og:title" content="My App" />
<meta property="og:type" content="website" />
Adding meta tags would solve this, this is snippet of html from app link created via FB. Fb is adding some extra meta tags on it's app link url page, and it also redirects direct to itunes if opened on a browser.
<html>
<head>
<title>app name</title>
<meta property="fb:app_id" content="your fb app id" />
<meta property="al:ios:url" content="Your app link url" />
<meta property="al:ios:app_name" content="your app name" />
<meta property="al:ios:app_store_id" content="your app id" />
<meta property="al:web:should_fallback" content="false" />
<meta http-equiv="refresh" content="0;url=https://itunes.apple.com/WebObjects/MZStore.woa/wa/redirectToContent?id=your app store id" />
</head>
<body>
Redirecting...
</body>
</html>

Resources