New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 33 users

Issue metadata

Status: Duplicate
Merged: issue 331571
Owner: ----
Closed: Apr 2015
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug



Sign in to add a comment

Window.location for intent is not working

Reported by flibust...@gmail.com, Feb 17 2015

Issue description

Steps to reproduce the problem:
if ( this.browser == "android+chrome/25+" ) {
    var chromeUrl = "intent://index#Intent;package=ru.ivi.client;scheme=ruiviclient;end;";

    //All of syntax works well in chrome 38.
    //But, some syntax not work in chrome 40.
    window.open(chromeUrl);     // --> works well, but this brings up a pop-up screen
    window.location = chromeUrl;        // --> ERROR : ERR_UNKNOWN_URL_SCHEME
    window.location(chromeUrl);         // --> ERROR : ERR_UNKNOWN_URL_SCHEME
    window.location.href = chromeUrl;   // --> ERROR : ERR_UNKNOWN_URL_SCHEME
    window.location.href(chromeUrl);    // --> ERROR : ERR_UNKNOWN_URL_SCHEME

} else {

What is the expected behavior?
Should redirect to Play Market or open page inside the app

What went wrong?
Getting ERR_UNKNOWN_URL_SCHEME all the time, exept window.open call

Did this work before? Yes In Chrome 38.x

Chrome version: 40.0.2214.109  Channel: stable
OS Version: 5.0.2
Flash Version:
 

Comment 1 by skm...@gmail.com, Feb 18 2015

window.replace() also doesn't work.

Comment 2 by tkent@chromium.org, Feb 19 2015

Labels: -Cr-Blink-JavaScript Cr-UI-Browser-Navigation
I'm also experiencing this on recently updated versions of chrome (version 40.0.2214.109) for android, including chrome beta.
It's not working for me either
Not working for me either.
Please fix!
OK, I've found out that the window.location redirect via intent will work, AS LONG as it is clicked from an external source or link on page.  If you manually enter the address of the redirect page into the address bar, the redirection / opening of the app will fail with said error.

So, sending a link to the redirect page in an email or SMS will work just fine when the user clicks the link.  Manually typing the address into the address bar will fail.  `window.location = chromeUrl;` should work just fine.

Comment 8 by g...@appsflyer.com, Mar 9 2015

Please fix! There's no way to open the Play store from a java script code on Chrome unless this is fixed.
Cc: klo...@chromium.org
Labels: M-40

Comment 10 by skm...@gmail.com, Mar 14 2015

https://code.google.com/p/chromium/issues/detail?id=331571

This looks like intended behavior... Very sad change.
I am using android lollipop and chrome version 41.0 and javascript hack isnt working as well...
Cc: jaekyun@chromium.org paulkinlan@chromium.org
Mergedinto: 331571
Status: Duplicate
An Intent navigation triggered by a user's typing was blocked intentionally. You can see the details in  Issue 331571 .

One good news is that the navigation will be just blocked without showing an error page since M42.

This is bad news. It became almost impossible to handle app deeplinks in Chrome. There's no way to check if an app is installed on the device in case I want to show the user a message in that case (or if the app is not installed). The only option is to have an "intent://" URL which is very limited and is not supporting the Play store referrer. 

Eventually this all lead to a bad user experience. 
If user types an url, they intent to load the page in Chrome.  What is your use case? 
Use case:
I have both an app and a website. I'm running a campaign with a link to some content or a discount and I want users who have the app to open the relevant deep link inside the app and users who do not have the app to go to a specific page on the website. This is not possible on Chrome. However, it is possible in any other web browser including iOS Safari and even Internet Explorer. The only way to check if an app is installed is to use it's deep link scheme on an iframe and if the iframe fails to load use the window.location.

Another use case is that may want those users who do not have the app installed to go the Play Store, install the app and when they open it I would like to show them a special message or a screen which are related to the original campaign they click. But, since the intent:// URL does not support the Play store referrer, it is not possible to pass data from the click URL to the app anymore. In this case I would like to use "http://" or "market://" URL with the referrer to open the Play store. Again, the window.location limitation prevent me from doing that.

In all other browsers, it's possible to do that with iframes and window.location. 

If you want more information feel free to contact me on email.
Cc: changwan@chromium.org
Please see https://paul.kinlan.me/deep-app-linking-on-android-and-chrome/ for browser_fallback_url
I don't see any reason to block that behavior. I understand that the user must make the final decision but something like an intent chooser will be very nice. IMHO, blocking that feature is not the solution.
I struggle with this issue as well ... it's a real problem

Comment 20 Deleted

Sign in to add a comment