Microphone access FIrefox and Chrome on iOS 12 - javascript

In Safari it can be accessed via navigator.mediaDevices.getUserMedia(), but for Firefox and Chrome navigator.mediaDevices is undefined.
I know that Firefox is using WebView
Firefox docs
(Probably Chrome too), and it is supposed that these browsers will have the same javascript engine as Safari. Is this correct?
Maybe there is some HTML meta tag, which can enable access to media devices?

It still looks like that Apple has not given free the access to mediaDevices for other browser distributor on iOS (while it works on OSX for all browsers). By saying this not only microphone but also camera/video is not accessible for HTML pages.
I've done a lot of researches about this topic but couldn't find a clear statement or any other way how to do it in Chrome/FF on iOS 11.2+. Some information were just misleading.
I've just asked this question to the Mozilla community. Feel free to track it in hope for a clear answer: question here

Related

Cross-browser issue: How do I debug my site's behavior on safari with window PC?

Live page: tt.fbcwinterretreat.org
The page and its script work well with chrome, IE and firefox. But on iPhone/iPads, not only the layout messed up, but also the image carousel doesn't work. I don't have a mac so I havn't tested it on Mac, but I'm quite sure it won't work on Mac either. To find the problem, I need something like chrome's dev tools to debug it, the question is, how do I do it with a window PC?
I have tried safari for windows, it turns out Safari has stopped support for window since 2012. And the latest version(5.1.7) is totally unreliable. So how do you guys make sure your sites/codes work on Safari if you have only window PC? I believe this must be a very general question.
The best solution is to buy a (second-hand) Mac. Apple does not allow installation of OS X on any machine than a Mac so running a virtual machine is not an option. Alternatively you could use one of the online browser compatibility tools such as
http://crossbrowsertesting.com/ although they are relatively pricey, but in return they provide a comprehensive list of browsers and browser versions.

version of Chrome supported by Angular.js

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.

Running COM objects within Firefox or Chrome

This question has been asked many times before: How do I run COM/ActiveX control in other browsers other than Internet explorer. The answer i simply "No! Rewrite your code. It is not recommended, security issue" and so fort.
However, I am in a situation where I can not choose.
The company I work for has a webbased CRM system that we have developed ourselves. Now we want to add phone functionality to it. MakeCall, Hang Up, Answer and so on. The PBX vendor we have chosen has software installed on evry PC that allows this functionality to be called thru a COM-object.
So we have made some tests using Internet Explorer (using new ActiveXObject() ) and everything works great. However, we have a company policy that it must also work in Firefox and Chrome. So, I am searching for a solution, that I hope all of you can help me with.
How can we do this in other browsers? Can I make a plugin that wraps the COM object? Keep in mind, the only way to communicate with the PBX software is to use this COM-object. Security is not an issue as this web solution is only used in-house and we trust the software (COM-object.)
You can use the whole of internet explorer as a plugin in Firefox/Chrome using the IE mode. This essentially embeds IE within Firefox which then hosts the ActiveX control.
The same extension for Chrome is here.

Are JavaScript getters/setters supported by Mobile Safari on the iPad?

I'm developing an iPad Web App for a client. Unfortunately I don't have an iPad to test the app, so I tried testing it on my iPhone. I entered the following URL in Mobile Safari and it alerted me that the method is undefined:
javascript:alert(Object.defineProperty);
I need to know however if it'll work on the iPad. Additional information about getter/setter support on the iPad is appreciated.
I've only tested 4.3, but it looks like it is supported for JS objects, but not DOM objects... just to be different from IE8 which is the opposite.
If you have access to OSX, I recommend downloading XCode --it comes with a useful iOS emulator for the various devices.
Also, this link might be useful, as it contains a table of ECMAScript 5 features, even though it does not mention the DOM restriction.
http://davidbcalhoun.com/2011/new-mobile-safari-stuff-in-ios5-position-fixed-overflow-scroll-new-input-type-support-web-workers-ecmascript-5

Is there a way to port a chrome extension to other browsers?

Is there a way to port a chrome extension to other browsers, without having to entirely re-write the code? My chrome extension uses the browser_action command to open "popup.html" in the extension window...
Update: I found adblockforchrome port.js and found it only somewhat helpful for porting to Safari...
Apple provides some guidance on how to port convert a Chrome extension to Safari, but the problem you're going to run into is that each browser has a different set of allowed functionality for extensions. Even with Chrome to Safari, there are things you could do in Chrome you can't do in Safari, and visa versa.
It depends on the type of the extension, but not really. To answer your question more clearly, you need to specify what your extension is about: modify some pages (like userscripts/userstyles), extend browsers' features, or something else.
There are a few portability notes, however, that could help you to simplify this process:
Don't write browser specific code. In some modern browsers you're able to use HTML5 features, like Web SQL Database API. It is difficult to emulate such behaviour on IE, for instance.
Keep your JavaScript modular; don't use vendor specific JavaScript methods, and your code will be portable and will not rely on TraceMonkey or V8;
Separate HTML from CSS and Javascript, don't make your code dirty and complicated.
Jumping in a bit late.
Our company - Slice Factory (full disclosure here!) does provide a browser extension conversion service: http://gallery.extensionfactory.com/labs/conversion/
In most cases your chrome extension will work seamlessly in FF and Safari.
The service is still in beta trial, and Firefox conversion is working better than Safari one.
I can't fully disclose what's our technical solution, but this being an SO answer, I can add a few details: we have re-developed a full javascript api stack that mimics most of chrome extension APIs for Safari and Firefox; in Firefox we base our work on JetChrome. Plus we have wrappers that re-package the chrome extension adding our library and rewriting manifests and so on.
Beyond that, it's mostly a few good ideas, trial and error, and a LOT of development time.
As an example:
Safari 5.1 just introduced a popup corresponding to Chrome's browser_action, but we have already an alternative solution that works for previous versions. Firefox does not support HTML5 WebSQL, but we have an API for it. We also provide a way to bring webapps to FF, and soon to Safari.
The objective is to have Chrome API as a reference, and mimic it on all the other browsers.
Without pushing you towards our solution, I might add that the time to fully cover the Chrome API on both Safari and Firefox is probably not worth it - unless you plan to convert several extensions. So for just one or two extensions I would advise making your code as modular as possible, and just creating three extensions - or trying our service!
Yes, it's possible with Webextension API using webextension-polyfill.
I made use of it to build this where I only had to change the callback methods to Promises and using browser.something instead of chrome.something to call the browser APIs.

Categories

Resources