Chrome: not "remembering" the choice to allow access to microphone - javascript

I have a super simple web page that uses the Web Speech API so that I can more easily communicate with my mom (she is deaf). Google's voice recognition is fast enough that I can talk to her in realtime (she reads the vr results).
My site: http://goo.gl/Wm69Mp
We are both using Chrome v30.0.1599.66.
The problem I'm running into is that every time I click on the microphone icon Chrome asks me if I want to allow access.
I click 'Allow' every time. If I look at Chrome's Media Settings for my site I see that the audio behavior is set to "Ask" but I can't seem to change it to "Allow".
Does anyone understand what is going on here?
UPDATE
It looks like I might have to enable https for my choice to remembered. I'd still like someone to verify that for me if possible.
TIA!
-CS

According to Google's Docs, if you select allow on a http URL your preference is not remembered. However if it is a https URL it will remember.

Related

Force one tab only on web app (e.g. similar to WhatsApp and Google Messenger)

I have a strict requirement to only allow a logged in user to open my web app in one tab. I've noticed that WhatsApp and Google Messenger's web apps have implemented this. For example, trying to open those apps in more than one tab (be it on the same browser, different browser, or even different device) results in these warnings:
Anyone know how this is done? There must be some sort of sync happening between the server and the client to ensure that only one tab is open. But this would require a unique tab identifier, which can get quite complicated to build reliably. Anyone know how WhatsApp and Google Messenger are doing it? Their technique seems to work flawlessly.
I don't know exactly how this is done at WhatsApp and Google Messenger, but if you work with WebSockets (your post hast the tag "websocket", so I assume, you do) every tab has its single connection to the server, and if your users need to be logged in you could check if the user has already a open weboscket connection to your server.

Javascript get smartphone GPS without "HTML5 Geolocation" and Internet

Context
I'm working on an ESP32 device that use WifiManager library to set up the device Wifi. This library just create a Wifi Hotspot who redirect to a basic HTML page. This page will be reachable via a smartphone. I want to know the user location when he visits this HTML page.
My Problem
The problem is, that to see this page, he must be connected to the ESP32 Wifi Hotspot so every solution must work without an Internet connection.
Furthermore, I know that there is this API (HTML5 Geolocation), but it didn't work because the server is hosted locally in HTTP. (And I saw a post that said that it must be connected to Internet).
I have also a size constraint. I'm working on a tiny device with already a lot of code so the solution mustn't be to heavy.
So, is there a way to get a smartphone GPS Location via a Javascript script and without using HTML5 Geolocation and without an Internet connection ?
I don't know why you wouldn't want to use JS. It's the only way you can get information from the client in a web app.
The hurdle is, you usually need HTTPS for such sensitive data to be allowed to be sent by the users browser. But how to set your server up for HTTTPS is not a question for StackOverflow.
Sorry that we can't give you a better answer. If you can't do it native you'll have to work with what you've got.
EDIT:
Some browsers need intenet to verify certificates, can't do anything about that. If you don't control the device -> browser.

How does soundcloud web make an android notification

I am talking about this notification:
Somehow SoundCloud (the website) makes this notification appear and it has working controls. I do not have the app installed, that notification originates from com.android.chrome. I don't really need to know this to reproduce it, but I'm curious as to how it accomplishes this and perhaps in what other ways you can use it.
This is accomplished with Chrome Media Notifications. https://developers.google.com/web/updates/2015/07/media-notifications
To get the playback controls, and other information on the notification, you can customise them by providing meta data with the Media Session API. https://developers.google.com/web/updates/2017/02/media-session
When Android is programmed, it gets certain features that allow it to communicate with web hosts and websites. The website will have to be built a certain way that allows it to be communicative, but that seems to be what's happening in this situation.

Google Chrome Extension: access padlock/certificate info

Okay, a bit of an odd question here, but I'm doing a research project about what influences people to make trust decisions when they look at a website, and without going into all the back story here, I am developing a browser plugin for Google Chrome that identifies the elements that people look for the most in a web page and tries to give a trust rating for that page. One major bit of information is the security certificate and that nice green padlock you see in the omnibox.
I am new to Chrome extension programming and I've searched the Javascript Chrome APIs here: https://developer.chrome.com/extensions/api_index, but the omnibox seemed to only allow you to enter search terms. If it isn't possible, are there any alternative ways to see if Chrome trusts the certificate of the current page?
Question: Is there any API for getting info about the state of the padlock icon in the omnibox so that my application can know the state of that padlock icon?

Simple application to aggregate information from multiple web services in fullscreen

Whats the easiest way to build a simple 'web' application which is a single page, that just refreshes itself (using AJAX or something) to display continuously changing data hosted on various different servers on the internet?
I want to interface with (for example) Twitter, Facebook, Skype, Google Calendar, and any number of other services that have some type of web API.
The application does not need to allow user interaction other than to configure it with the authentication parameters needed to access those services.
It should be able to run full-screen with no UI elements showing, just the pretty information I am displaying.
I started to write an HTML file using Jquery but I am running into "Same Origin Policy" issues. Is there a way around this?
I'd love to just write this in Html/Javascript and run it in Google Chrome, is that possible somehow? I don't know how to get around SOP without hosting my own web server as a proxy to cross the domains.
Is there another alternative that is still pretty easy and simple? I looked into using the Windows Vista Sidebar but apparently you can't have a full-screen gadget.
I figured out that I can use the command line option for chrome:
--disable-web-security
And it will allow me to workaround the same origin policy, and since I am using this for a local application I can put the app in a virtual machine and let it run without too much worry.

Categories

Resources