I am using bugfender in my vue js application, which works fine in Chrome but doesn't work in my Safari Mac.
Safari Version 15.3 (17612.4.9.1.5)
#bugfender/sdk: 2.2.2
Error in browser console: ReferenceError: Can't find variable: BroadcastChannel
I did backtrack this issue and it's from bugfender/sdk/lib/index.js
Has anyone face the similar issue?
BroadcastChannel only supports safari from 15.4 and up. Reference: https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel
if you want use in safari 15.3 down. Use:
import { BroadcastChannel } from 'broadcast-channel'
Object.assign(window, { BroadcastChannel })
you must run this script before all
Upgrade #bugfender/sdk to 2.2.3 and this will work in older safari version.
Related
I have an angular application that works fine on all browsers, including IE11.
However, in several cases (still not sure why), IE will throw a TypeError, which is caused by Angular CDK platform umd javascript:
var hasV8BreakIterator = (typeof Intl !== 'undefined' && ((/** #type {?} */ (Intl))).v8BreakIterator);
Which is minified to:
o="undefined"!=typeof Intl&&Intl.v8BreakIterator
The error is:
TypeError: Intl is not available
My question is, in general, what does "TypeError: xxx is not available" mean, and more specifically, if there is any reason this will come up.
This was confirmed to be caused by installing KB4489881 update on Windows.
The update added some logic code snippet to check whether the machine is Win8.
If it’s Win 8, IE will avoid loading Windows.Globalization.dll and continue to load jsIntl.dll.
This works fine for IE11 and the Weboc with manifest file which used to targeting the app to Windows 8.1 or Windows 10.
However, if the weboc has no specified manifest file, then the version detection would return as Windows 8 version (6.2.0.0) even if runs on Windows 8.1 or Windows 10.
The following article clarify the issue on what needs to be done from your side:
Targeting your application for Windows
https://learn.microsoft.com/en-us/windows/desktop/SysInfo/targeting-your-application-at-windows-8-1
Also, a workaround was issued to the angular package: https://github.com/angular/material2/pull/15693
I am trying to build a simple AngularJS application using an old Chrome (version 2010).
Then I am facing various problems with routing. Basically Chrome becomes unstable, even crashes often.
I suspect that my old Chrome is not compatible with the specific AngularJS I am using (v1.3.8).
Where can I find such information? I mean the version of Chrome needed by AugularJS of specific version?
I searched AngularJS document, but didn't get a clue.
Edited:
Quoted from link https://code.angularjs.org/1.3.8/docs/misc/faq:
We run our extensive test suite against the following browsers: Safari, Chrome, Firefox, Opera 15, IE9 and mobile browsers (Android, Chrome Mobile, iOS Safari). See Internet Explorer Compatibility for more details in supporting legacy IE browsers.
I think these details above are a little vague as a reference. I understand the recommended practice is upgrading Chrome to the latest. As "Derek 朕會功夫" commented, my environment is restricted to some extent. One of the restrictions is, it is not feasible to upgrade Chrome.
That is why I want to find out the exact Chrome version supported by AngularJS. People may come up with similar concerns with other browsers like Firefox. Right?
thanks!
Answer To PSL: I am not using bangrang.
BTW, "add a comment" link doesn't work for me , so I have to comment here :(
As far as I can tell, you require Chrome 13 (MDN) from 2011 in order to support the functions tested in the Angular source found here, such as File and Blob.
Recently I have been considering using Polymer elements in a project I am working on. However, I am unable to see any elements being rendered in the new beta version of safari for OS X 10.10 Yosemite. I completely understand that Yosemite and Safari are currently in the DP phase, but I am curious as to why the new verison of Safari has broken compatibility with Polymer elements (I can confirm Polymer elements work in Mavericks version of Safari).
I was able to open the developer console and spot an error. I am unable to reach the exact error at this time, but I know the error was at patches-mdv.js at line 57, claiming a Read Only error.
I just tested the Polymer Project website on my iPhone with iOS8, having the same results.
Does anyone have an idea on what I could do to fix this issue temporarily until the Polymer-Project team fixes it?
One apparent problem is that the Safari beta has at least one low-level property accessor (specifially HTMLBaseElement.prototype.href) that is misconfigured from the standard.
So, cursory investigation implies this is a bug in Safari, not Polymer.
I am part way through developing a mobile web app which contains almost no HTML elements. JSON2HTML is used to create HTML elements.
My problem is that it works ok except for on
iPad
Android 4.0.3 Native browser.
The problem with these browsers is that the content isn't being rendered.
It works fine on
Android 4.0.3 Chrome,
Android 4.0.3 Firefox
Android 4.0.3 Opera
Android 4.0.3 Dolphin
Android 4.1.1 Native
Android 4.1.1 Other browsers
Just to clarify, this is a mobile web app, not a native mobile app. I am not using any native code, I am using standard web technologies (HTML5, CSS3, jQuery, Javascript, JSON)
After days of research and testing, I have found the solution.
First I activated the built-in debugger on my Android phone - instructions at http://tinyurl.com/768qltl
The debugger then told me that the error was at line 71 of jquery.json2html.js
I opened jquery.json2html.js
I replaced line 71 with the following code
else $.fn.append.call($(this),$(dom).children());
This works because the previous line 71 was calling the jquery append.apply function, which only works with specific data type on older browsers.
Your best bet would be finding a way to remotely debug what's happening in the native browser. There are a couple ways to do this.
Install an app like JsHybugger, which acts as a reverse proxy
Add some new JavaScript to the source page and use Weinre, JSConsole, or to attach remotely
I'm using speakjs in my webapp and in chrome and firefox it runs without errors, however on attempt to run the speakjs client in safari I receive the following error:
ReferenceError: Can't find variable: Float64Array
I have attempted searching through the js and replacing Float64Array with Float32Array but to no avail.
How can i go about solving this?
Update Safari to the current version. It implements Float64Array.
I don't have an answer for getting Safari 5.x to work with code that uses it. I am currently struggling with that.
Update: Luckily for me my usecase of Float64Array came from the emscripten box2d build. Simply replacing Float64Array with Float32Array did the trick for me for Safari 5! It made it work on older versions of Firefox (I tested version 10) also.