ChromeCast: Chrome sample project not running - google-chrome

I am following the setup instructions here: https://github.com/googlecast/CastHelloText-chrome step by step.
I have my Google Drive hosting folder here: https://drive.google.com/folderview?id=0ByI6ac75SrewSE1odEdBMm1fNk0&usp=sharing
I set my URL (for my application in the developer console) to https://googledrive.com/host/0ByI6ac75SrewSE1odEdBMm1fNk0/receiver.html
However, when I run my chromehellotext: https://googledrive.com/host/0ByI6ac75SrewSE1odEdBMm1fNk0/chromehellotext.html
I get this error in the console: "onError: {"code":"session_error","description":"NOT_FOUND","details":null}" and my Chromecast will not connect when I hit the carriage return and select my Chromecast.
What am I doing wrong?

Checking the box for sending the serial number to google solved this problem for me as well. It took me a few minutes to figure out where this box is so that I could check it. I had to download the chromecast setup application and then let it discover my device, select it, and click settings. The checkbox is in the settings.

It can take up to 6 hours to publish your receiver app. As the docs suggest, all you need to do is restart your Chromecast to force the device to reload it's configuration data. I was having this same issue and a restart was all I needed.

Make sure your receiver app is loading the cast_receiver.js javascript file as well as starting an instance of the castReceiverManager.
I was seeing that same timeout message before I did that. My initial receiver code was just static HTML, but apparently that's not good enough.
The following, in my receiver's index.html did the trick for me:
<script src="//www.gstatic.com/cast/sdk/libs/receiver/2.0.0/cast_receiver.js"></script>
<script>
window.castReceiverManager = cast.receiver.CastReceiverManager.getInstance();
window.castReceiverManager.start();
</script>
(copied from https://developers.google.com/cast/docs/custom_receiver)

Related

Google Chrome Translate Page Does Not Work

In Google Chrome, Translate to English (or any other language) function was working fine, but all of the sudden it stopped working.
By looking at the console, I see error messages when the page tries to translate:
Failed to load resource: the server responded with a status of 403 () https://translate.googleapis.com/translate_a/t?anno=3&client=te_lib&format=html&v=1.0&key=no&logld=vTE_20170619_02&sl=da&tl=en&tc=1&tk=927511.556110&mode=1
I tried completely uninstalling Google Chrome and installing it again but it still does not work, it also does not work in Incognito Window.
It works fine in other machines, any ideas?
It looks like that you don't have the api key:
key=no
Look at environment variables to see if GOOGLE_API_KEY is set to no and delete it.
For now, I would just translate pages the long way.
I.E.:
Going to https://translate.google.com and typing your address in the input box, and going to address produced in the output box.
If you want to continue our discussion from the comments, I have created a chat for us to keep talking about your issue.

Can't run Code Playground example from local file

This is the Map/Earth Integration example at Google's 'Code Playground' site:
https://code.google.com/apis/ajax/playground/#maps/earth_integration
I can run that example from the playground just fine. But if I save its html locally and then try to load that file in Chrome, the browser just stalls indefinitely with:
Installed Plugin Version: Loading...
An Android app of mine that attempts to load the same example into a WebView does the same thing. That app works fine when running html that employs the API V3 javascript.
The Chrome browser's Developer Tools debugger stops on line 15:
"google.load("maps", "2.x");"
saying that "google" is not defined. It also reports that 'GMap2' (line 18) and
"GET file://www.google.com/jsapi?key=ABQetc" (line 10) are also not defined.
The Map/Earth Integration example html includes a (long) jsapi key. Do I need to get my own jsapi key maybe? Where do I get one? I have a v2.API_KEY from:
"https://console.developers.google.com/project/apps~elite-rider-459/apiui/credential"
but I'm not sure if it will work with Google Earth and Google Earth is not among the available choices at the "APIs % auth" page at that console website:
I remember reading that Google Earth no longer requires such a key. Can anyone tell me
what I'm missing? And how to stop Google Earth from embedding itself in my desktop? I tried removing and reinstalling the plug-in, but GE continues to do so.
Thanks,
Ted
When you run this example from local filesystem you must prepend the http: -protocol to the <script/>-src , otherwise the browser will try to load the API from your filesystem(what of course will fail)
When I ran "Marker V3" code example in Google's Code Playground under "Maps V3" section, on local file, the code didn't execute. I had to add "http:" to script tag that loads Google maps in order to run the code locally.

Chrome Inline Install for extension not working

I'm trying to use the new chrome inline install feature for extensions (see here: http://code.google.com/chrome/webstore/docs/inline_installation.html).
I can't get it to work unfortunately, and have very little clues to go by. I've added the link element to the head element
<link rel="chrome-webstore-item" href="https://chrome.google.com/webstore/detail/pnnfemgpilpdaojpnkjdgfgbnnjojfik">
and I call
chrome.webstore.install();
in a jquery event handler. I've also verified my domain, however, I'm testing this on a local machine but have a subdomain pointed to my localhost (i.e. testing on dev.getbentobox.com which is mapped to localhost in my hosts file if that makes a difference).
When stepping through my js using the chrome debugger, chrome.webstore.install() is getting called and the function is defined. However, nothing happens - no install, no javascript exception, no console printing, nothing.
any ideas?
Your Chrome Web Store item doesn't show the verified site. If you compare it to the "We Heart It" extension, which can be inline installed from http://weheartit.com/heart-button, it has a green check saying "from weheartit.com". You'll need to edit your Web Store item, and associate your verified site with the item.
As of December 2018 (Chrome version 71), Google has disabled this feature. The workaround is to send the user to your extension in the Chrome Web Store.
Source: https://developer.chrome.com/extensions/inline_faq#change_dec18
What will change in M71 (Dec 2018)?
Beginning in M71, Chrome will no longer support the chrome.webstore.install() method and calling it will fail, resulting in a broken installation flow on your site. At this point calls to the API will throw a JavaScript TypeError. You should remove any calls to the API method before this date.

Can Google Chrome be made to auto reload after network outage in kiosk scenario?

I have an unattended touch screen kiosk application which needs to be able to automatically reload the browser home page after a network outage has occurred. At the moment the browser will display an "Unable to connect to the internet" error and will wait for a manual reload to be carried out before proceeding. Can this be automated?
I've searched for plugins and have found some plugins which deal with auto-reload but they don't seem to work in this context. I am guessing that the plugin is only active when a page is loaded so in this case with an error condition, perhaps the plugin is not active.
One alternative might be to override the error page which is displayed by Chrome but I don't know if this is possible. I could then instantiate a Javascript timer to try a reload every n seconds for example. Is this possible?
I saw a suggestion to use frames to allow the outer frame (which is never refreshed) to keep trying the loading of an inner frame but I'm not keen to use frames unless there is no alternative. I also saw a suggestion to use AJAX calls to check if the network was working before attempting a page load but this seems overkill if there is a way to correct the error only when it has occurred rather than pre-empt an error for every page load.
Host system is Windows 7 by the way. I'm keen to keep the browser running if possible rather than kill and create a new browser process.
If you don't want to tackle chrome extension development, you could wrap your site in an iframe, and then periodically refresh the iframe from the parent frame. That way you don't need to worry about OS issues.
if the content were loaded from ajax from the start then the it could simply output a custom message on the page as it does a check via AJAX. Probably prevention over remedy is always recommended
Assuming linux, you could create an ifup script to simply relaunch the browser with something like
#!/bin/sh
killall google-chrome
DISPLAY=:0 google-chrome
On debian/ubuntu, edit /etc/network/interfaces to include a post-up line; Google ifupdown for other distros.
On windows, you'd do roughly the same with a PowerShell script.
If you really want the precise behaviour you describe (without restarting the whole browser), I suggest you develop a plugin/extension: http://code.google.com/chrome/extensions/getstarted.html
I know you are using Chrome, but in Firefox this is trivial by overriding the netError.xhtml page to do a setTimeout(location.reload, 10000);.

Run a program from a local webpage

I'm trying to use a webpage as an entry point for a kiosk. The HTML will be run in local, I need two things:
<a href="c:\Users\Admin\Documents">...
Which works like a charm
And..
<a href="c:\Program Files\Windows Live\Mail\wlmail.exe">...
(program just an example, all programs are the same)
Which works but.. it prompts to download the file then you are prompted to start it.. Is there any way to do this directly, like click and bam you opened notepad.exe? Maybe using a Java applet?
EDIT:
I know it can't be done remotely, I'm talking about local files.
The file will be accessed as c:\myhtml.html
And will open ONLY already installed files, nothing from the web.
If i get your question right , the closest thing to get what you want would be using *.hta which is a HTML Application that runs outside the browser window just like a normal app.
<script type="text/javascript" language="javascript">
function RunFile() {
WshShell = new ActiveXObject("WScript.Shell");
WshShell.Run("c:/windows/system32/notepad.exe", 1, false);
}
</script>
Bit more info here:
http://www.kunal-chowdhury.com/2010/09/how-to-execute-local-file-using-html.html
The right way to implement this is by creating custom protocol in Windows. Details in the MSDN article "Registering an Application to a URI Scheme"
No, this is security issue, browsers don't allow it because it could be security risk to run apps without prompt, just by clicking on the link.
There are several technologies like java WebStart and ASP ClickOnce - they will install the app more or less automatically, signing the application helps too - the messages the user gets look less scary.
Correct me if I didn't understand you. If you're running the web page locally (http:\127.0.0.1) and want to execute a program in the same machine, it will depend on the technology that you're using, for example in php you could use exec() to execute a program on user input but it will run on the server side.