IE 9 not supporting $locationProvider.html5Mode - html

Hi I am creating an angularjs app . I made $locationProvider.html5Mode as true. Now I am getting pretty url without # . It is working fine in chrome and firefox. But when I tried to open it in IE 9 , it is reloading continuously.

Bad news. IE9 do not support HTML5 History API. That is what angular html5Mode uses. If you need your app to run on IE9 you need to switch back or add code to detect if History API is available the use is or default to the hash
function supports_history_api() {
return !!(window.history && history.pushState);
}
I know. Stupid IE. It should die a painful dead.

$location Documentation
See "Hashband and HTML5 modes"
Basically, html5 mode uses History API when the browser supports it, and falls back to hashbang(#) when it is not supported.
You cannot "just" remove "#" in a browser without History API. Because when you change the url, the browser would then try to force a reload, breaking the flow.

Related

Puppeteer: Can't access iframe elements after update from 2.1 to 3.1 with built-in firefox

I recently updated my puppeteer version from 2.1 to 3.1. I was using pupeteer-firefox on the previous version. And now since pupeteer 3.1 has firefox built-in, I am using that. But it's only an experimental feature from pupeteer.
This code was working properly with the previous version.
const elementHandle = await page.$("iframe[src^=\"https://docs.google.com/picker\"] [id=\":7\"]")
await elementHandle.click()
Steps to reproduce
login to google: https://accounts.google.com/ServiceLogin?hl=en&gl=en
Go to: https://www.google.com/maps/d/?hl=en&gl=en
Create a new map
search for a location and add it to the map
click on the add image icon image icon
Now an iframe will open up. I need to click on the element with id=":7" inside the iframe and input image url. Can some one please help me out?
This is the official test result of puppeteer's firefox.
https://hg.mozilla.org/mozilla-central/file/tip/remote/puppeteer-expected.json
Every test against iframe is either FAIL or SKIP.
And google won't give support for firefox inside the pupeteer.
So I've come to the conclusion that it's not possible to access the iframe using pupetteer especially when cross-site scripting is banned.
I've abandoned puppeteer and started using microsoft's playwright. And everything's going good.
Please note that not Google is working on Puppeteer support in Firefox. And as you already said yourself Firefox support is in experimental stage right now. That said we are working hard to add better support for various features and APIs, but that's not a task that can be done within a week.
In regards of your question I can say that I added iframe support for a lot of APIs recently, and it's all available in Firefox 79 now.
Also note that Playwright is using a modified and unofficial Firefox build based on a recent Firefox beta.

IE 10 $digest() iteration reached using fallback html5 mode (angularjs)

From the documentation of $location
Fallback for legacy browsers For browsers that support the HTML5
history API, $location uses the HTML5 history API to write path and
search. If the history API is not supported by a browser, $location
supplies a Hasbang URL. This frees you from having to worry about
whether the browser viewing your app supports the history API or not;
the $location service makes this transparent to you.
It works fine under FF,Chrome and IE10 (whatever the browser mode). However when I try to test in less than IE9 mode, the fallback mode with hashbang behaves oddly. The window location is converted as expected
http://myserver.net/#!/thewebapp
it displays the server root content since angularjs fails during the rendering.
SCRIPT5022: 10 $digest() iterations reached. Aborting!
After reading other Q/A, I suspect IE10 can't be used this way. Another source is maybe the server side rewriting or a combination of both. Right now I have no clue.

Soundcloud HTML5 Player Not Showing Up in IE9

I've put a Soundcloud HTML5 player on my website and am generally quite pleased with it.
However, while browser testing in IE9 on Windows 7, The player is not loading, and I am seeing the following error in the debugging console:
SCRIPT429: Automation server can't create object
widget-b8220e90.js, line 2 character 1738
The poking around that I have been able to do suggests that this has something to do with the IE9 security settings and/or ActiveX, which makes me shudder. I have IE9 running on its default security settings.
Is there anything that can be done to get the HTML5 player to show in this situation, or will I need to fallback to the flash player?
EDIT: The problem also occurs in IE8, which isn't surprising but I add for completeness' sake
EDIT: I am seeing the problem using the Win7/IE9 Virtual Machine provided by Microsoft at their new Modern IE site, and using the default security settings in IE9
I used the same code you specified above to try to reproduce, but it works fine for me in IE9. In compatibility mode it just falls back to the old Flash widget. Can you have a look here and say if it still doesn’t work for you?
http://jsbin.com/otulas
This is indeed a problem in IE, testing on IE8 and this is what I have found:
The Widget API Playground doesn't work.
URLs with "/favorites" doesn't work, as in the Widget API Playground.
Getting this error:
"Webpage error details
Message: Object doesn't support this property or method
Line: 1
Char: 6061
Code: 0
URI: https://w.soundcloud.com/player/api.js
So I did unminify the JS file and got that it's talking about this line of code:
return r && r.instance ? r.instance : (i = a.indexOf(S(e)) > -1, s = new p(e), f.push(new d(s, e, i)), s)
It is important to mention that the player works fine without any API and without including the API script.
Hope this can be helpful for the dev team.
IE9 and 10 don't like third party cookies. SoundCloud's HTML5 widget uses those.
More from SoundCloud: http://help.soundcloud.com/customer/portal/articles/1331463-why-is-my-widget-not-showing-up-in-internet-explorer-
More from Microsoft: http://answers.microsoft.com/en-us/ie/forum/ie10-windows_8/soundcloud-html5-widget-wont-display-in-ie-9-or-10/79aaab55-44d8-414f-9d06-939bbdf25676

chrome based browser "feature" - how to get original functionality back?

If you try to visit the default rss feed for any recently updated wordpress site in the chrome browser you ALWAYS get this annoying prompt for "Which service should be used for viewing?". This did not used to happen in chrome. This does not happen in other major browsers. How can I correct this in chrome to just show me the parsed xml like it used to?
PS the example page you see in the background is http://wordpress.com/feed - as soon as you try to visit that page in chrome you should see this prompt as well.
I just discovered "Feed Intent Viewer" which is a Chrome extension that basically brings back the old functionality.
https://chrome.google.com/webstore/detail/oceapojkdgeophkjdijkpbjifdnfimdh
I am using chrome Version 21.0.1180.79 on ubuntu and having the same request to download issue on such safe websites as sciencefriday.com. I have submitted the problem to chrome. -fingers crossed for a patch-
I found a solution after many research (because it's really annoying...)
Download and install the new Beta version of chrome: it's all fixed

is there anyway to force a link to open up in IE, even if not the default browser

we have a website with links to a sharepoint. These features in sharepoint only work in IE so i dont want to open up firefox or chrome if that is the default browser. Is there anyway to have a
My Link
force open up in internet explorer ?
You can use javascript to inject the link in your HTML code if the client is IE, and maybe show a warning message if the browser isn't IE. Anyway you can't tell any browser to open a link using another browser.
No, definitely not.
For Firefox users, the best thing that comes to mind is to have them install the IE tab. It allows the opening of pages inside Firefox but using the IE engine - but also requires user action.
If this is run in a windows environment, you could use a PHP script to open Internet Explorer through PHPs support for COM objects.
If you are interested I can provide the script to do this.