i'm creating a simple html page using droidEdit in Android, simple as that.
In this page there's a div with a background.
This background is an image stored locally, but the url must be (for a number of reasons) an absolute path, not a relative one, and in particular one like this: file:///sdcard/assets/images/test.gif
Now, if i open my page opening Chrome and navigating to file:///sdcard/index.html everything works perfectly, and i can see my div with his nice animated background.
My problem is that if i instead open index.html directly from the file manager, Chrome is launched and it correctly display index.html but the div shows no background at all.
I'm not an expert in how Android system works underneath the surface, but since the same code (with a different file:/// path, of course) works in Windows, i suspect that Android somehow uses a different url/uri system to handle locally stored files.
Is there any way to set the right (absolute) path of test.gif to make the css load it correctly, when i open index.html directly from the file manager?
Thank You in advance
Accessing local images works when navigating directly to the file in chrome. It won't work when opening the html file from another page because of security rules imposed by browser. Checkout the full details here: https://blog.chromium.org/2008/12/security-in-depth-local-web-pages.html
It can be fixed by base64 encoding the image using any online tool(search for base64 image) and using the result as background:
body{
background: url('data:image/jpeg;base64,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')
}
Or uploading the background image to any image hosting service and reference the url.
I have created a local web app for Android that I want to use with Firefox. My problem is that I'm not able to get the desktop shortcut to have the app icon, and even on the tabs in FF, a white S on a green background is displayed (it's the same icon used for the shortcut).
Chrome is able to display the icon but due to various reasons (http vs https restrictions, inability to access external SD card storage, inability to create desktop shortcut for local web apps...) I have to use Firefox.
I have used the content generated with https://realfavicongenerator.net to no avail. Websites, though, do display their icons both in tabs and when a shortcut is created on the desktop, so FF is not broken on the device.
I have read through some of the questions here on SO (this and this) as well as the FAQ on realfavicongenerator.net but nothing points specifically to locally stored web apps and FF.
I'm currently working on a web page that opens a pdf file in a new tab using an anchor tag.
When viewed using android default browser, devices like (note 4 and tab 4) it displays 404 Not Found Error, but this works fine when using iOS, PC and Mac
<a href="/sample_file.pdf" target="_blank"/>click here</a>
NOTE: reference file for the pdf is relative since this will vary per environment.
I work on a firefox addon using JPM.
I want to install it on my android phone, i've run "jpm xpi" and copy xpi on my sdcard. When i browse to file://path/to/my/xpi in android firefox nothing happen.
Same issue if i upload xpi on my server and browse to url.
i've tested with google play firefox up to date version and nighty.
where is my mistake?
Neither ES File Explorer nor X-plore worked for me (as per Trasd's comment). I saw the three Firefox's, but none of them triggered to install the XPI.
The solution for me was creating an installer HTML file in the same directory as the .xpi files, like the following.
install.html:
<html><body>
ABP
FVD
<!-- replace the above with the names of your add-ons in the same directory -->
</body></html>
Then, you can either:
Enter the path to this install file directly in Firefox, e.g. file:///storage/sdcard0/MyXPIFiles/install.html
Or, navigate to the file in your File Manager and open it in Firefox when prompted.
In Firefox viewing the install.html file you created, click on each link on the page, and you should see a prompt, "Firefox prevented this add-on from installing on your device." Just click "Allow", and it should install.
EDIT: Apologies, I see you said that navigating to a URL did not work for you. But if no one minds, I'll leave my answer here, cause it's the only one that worked for me, and maybe others too.
Create github repository for your addon. Then get this extension:
https://addons.mozilla.org/en-US/firefox/addon/github-extension-installer/
Then go to your github repository with firefox on android, then make it display "desktop version of website" from firefox menu icon at top right, then click "add to firefox".
This is by far the easiest way to get addon from your computer onto android.
This is a problem because of the different Versions. I had the same problem as you. I tried to install the xpi manually. The trick is to install versions that are older. So currently Firefox v43 does not work. But v38 or v39 for Example works without any problem.
v42 for Example does not work. v41 works. It seems like they changed something here. Because the Explorer also offers 3 Options to Start Firefox with v42, but only 2 with v41.
Create a html file with this code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Load files</title>
<style>
div#links a {
display: block;
}
</style>
</head>
<body>
<input type="file" onchange="add(this)"/>
<div id="links"></div>
<script>
function add(obj) {
var val = obj.value;
addLink(val);
}
function addLink(dir){
var links = document.getElementById('links');
var a = document.createElement('a');
a.href = dir;
a.text = dir;
links.appendChild(a);
}
</script>
</body>
</html>
Then copy the xpi files into the same folder, you can load them dynamically and then click on corresponding link.
You can create and install Firefox extensions locally on your Android device!
I'm creating and installing simple Firefox extensions using nothing but my Android itself, instead of hooking it to (or programming on) my PC. To install extensions without involving a USB connection:
If you're working with an existing addon from you PC, get the xpi onto your Android device (email it to yourself if you have no other method).
Using Root Explorer (even though I'm not rooted on this tablet) or Explorer, the free version (sorry, they won't let me put more than 2 links), long-press on the xpi file and choose Open With.
Choose the Apps tab (3rd one) and scroll down until you see Firefox (there are 3 Firefoxes in the list - these are Intents, I think).
Choose the second Firefox in the list.
If you selected the correct Firefox in the list, you will see a "Tab saved in Firefox" toast - DO NOT TAP IT! If not, try the procedure again, but select a different Firefox in Root Explorer's Open With App list.
After the toast, if Firefox displayed an icon on your Notification Bar, activate it. This will bring up Firefox with a new tab where you have to give your approval to install the extension. If you don't have a Notification Bar icon, just open Firefox.
Like most things, this is much simpler to do than to explain.
Please note, I am using Firefox for Android 42.0.1. I also use the Console 1.1.1 (by DigDug) add-on for simple debugging. I had to download the Console extension from its Github site and install it using this method because I couldn't get it to install through Firefox's regular method, nor could I get "Githib Extension Installer" to work on my system. I am using a Samsung Galaxy TabPRO SM-T900 12.2" with Android 5.1.1.
Good luck!
I am almost complete building a stocktaking app for work, but there is one thing stumping me at the moment. Firstly, I am a .net developer and so have had no previous Java experience prior to this app, so everything has been learnt on the fly.
Ok, so I have put together a "help" page for the users. Its in HTML. I have created a folder on my nexus 7 and named it saregohelp (the app name is Sarego). I have placed the html file inside and its named "help.html"
Here is my current link.
"file://Internal storage/saregohelp/help"
I can get the button to link to a website, but the tablets wont have web access so the html file needs to be local.
Any ideas?
Thank you!
You can put the html file in assets.