i had took a look to another threads about chrome and custom protocol apps, but i couldn't resolve a doubt i've got. In my web app, when you click a button it fire a new tab with an webpage (window.open(url, "_blank")). The new tab is opened with the url (annother web app with https protocol). This url fire a javascript function on load that verifies some things and then generate a custom url, for example myurl://base64code, and put it in an existing iframe in this way windows.frames['myframe'].location.href=theCustomProtocolUrl. i tried in different ways (location.replace, create a new iframe and set the url, etc) and i always have the same problem. If i refresh (ctrl f5) the page it always show the dialog or if i open the link with the developer console opened. But if i click my button and the page is opened in a new tab it doesn't work only if i refresh (ctrl+f5). This works perfectly on IE11, it launch the app directly.
Any ideas why chrome, and edge, works like this?
UPDATE: I have found the reason, is i use the protocolcheck.js (https://gist.github.com/vladimirtsyupko/cfcd332476b16683bb0b) library.
First i tried to open a protocol with the timeoutHack (it use blur event) and then, after failing, it fires the other url (in this case https) and the dialog doensn't appear. I found a bug with blur event on chrome > 85 https://bugs.chromium.org/p/chromium/issues/detail?id=1137801
Thanks in advance
Recently we migrated to latest version of application which allows the user to open application in any browser.
Earlier it use to support Only IE browsers.
After migration many users still open the application in old browser.
Since the application is very slow in IE browser.We are looking for a solution that will automatically open the URL/Login Page in Chrome browser when user opens in IE browser.
i.e., when a user open URL in IE browser it automatically open the same URL in Google chrome browser.
Google Chrome Legacy Browser support allows this. Under the "Hosts to open in Alternative Browser" policy, put in an entry for the site you want to force to open in Chrome, preceding it with an "!". Example:
!https://www.somesitetoopeninChromeonly.com.
If i understand it correctly, the users open a page in IE and when they click an url on that page, it will open that URL in Chrome.
I guess, you can't do this. You can use target="_blank" to open a new tab in the same browser.
If you want to open a link from an application in chrome and not in IE, you can change the default browser to chrome. Click on Start, type the "default app settings" and change the default browser to chrome.
I think the best solution is to let the user open Google Chrome manually by informing about it.
It is possible however, to make a document called "chrome.hta" for example, with the contents shown below, and then link to it on another page. (This will only work in Internet Explorer, not Edge)
<script type="text/javascript" language="javascript">
var oShell = new ActiveXObject("Shell.Application");
var commandtoRun = "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe";
var website = "http://example.com/";
oShell.ShellExecute(commandtoRun, website, "", "open", "1");
window.close();
</script>
The user now has to press "open" and "allow" after they click the link referring to the .hta file.
Now, on the page where you link to the .hta document, you can make the page detect the browser and adjust the link accordingly:
<a id="link" href="example.com">My Application</a>
<script>
if (navigator.appName == 'Microsoft Internet Explorer' || !!(navigator.userAgent.match(/Trident/) || navigator.userAgent.match(/rv:11/)) || (typeof $.browser !== "undefined" && $.browser.msie == 1))
document.getElementById("link").href = "example.com/chrome.hta";
</script>
A bit late, but we have two different solutions for this:
We use a javascript: link to use ShellExecute to run a small exe helper application that checks if Chrome is installed, and if it is, open Chrome to the URL parameter, optionally with switches (e.g. --use-system-default-printer and on shared logon PCs, --incognito). This requires configuring special permissions for the site in Internet Options|Security.
Now we can also use the microsoft-edge: protocol to open sites in Edge.
You could also install your own protocol for opening sites in Chrome but you would need a helper application to re-write the URL. I have one written to add microsoft-edge-private: to open links in Edge in InPrivate mode.
To open the webpage in Microsoft Edge you can try the below code.
TEST
I have a standalone Adobe AIR application which uses the HTMLloader to embed a webpage and thereby access the Facebook login.
When a user first uses the application thery are first presented with a FB login screen, and then a FB authorization screen, asking if the user wants to share the uploaded image with their friends.
Up until recently everything worked fine.
But it seems that facebook has changed the way the authorization popup displays so my htmlloader no longer can 'see it'. I get a blank page.
The application sees
But should see
Does anyone know of a workaround?
Answering my own question
Supplying an optional userAgent string when I first call login returns an older version of the permissions dialog which renders correctly
I'm learning windows phone app development. I took yahoo mail site as sample and using it in the web browser control. I want to understand what settings I need to unable in web browser control to look the web page in web browser control as same as how that shows in Internet explorer on Windows phone. Here the screen shots what I see now
In the windows phone browser it looks like below -
Thing I'm missing here in my app is, I cannot see the 'Search mail' text in the search text box in my app.
The most IMPORTANT thing is that when I click the mail item in the app nothing happens. But in Internet explorer it actually opens the mail body.
Please guide me.
That probably caused by some functionality of the web page implemented using javascript. Therefore, try to set IsScriptEnabled property to true :
<WebBrowser IsScriptEnabled="True" .../>
That will enable javascript in the webbrowser control which is disabled by default.
Does anyone know a simple way to get, for example, a button action event within a web deployed java fx application to direct the browser to a new web page?
So in my application I want to go to the home page of my website when the user clicks a javafx button.
I think this can be done with javascript & javafx, but i think it is messy......
application.getHostServices().showDocument("http://www.mywebsite.org");
hostServices.showDocument(uri)
Opens the specified URI in a new browser window or tab. The
determination of whether it is a new browser window or a tab in an
existing browser window will be made by the browser preferences. Note
that this will respect the pop-up blocker settings of the default
browser; it will not try to circumvent them.