>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >javascript img.src = "file://..."? можно ли? http://forum.mozilla-russia.org/viewtopic.php?id=28748 |
devcoder > 18-12-2008 18:15:37 |
Здравствуйте. Никак не могу добиться вывод локальных файлов(картинок) в <img> средствами JS. Обнаружив http://kb.mozillazine.org/Links_to_local_pages_don't_work Выделить код Код:user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess"); user_pref("capability.policy.localfilelinks.javascript.enabled", "allAccess"); user_pref("capability.policy.localfilelinks.sites", "file://localhost file:/// file: file:// file:///home file:///var file:///home/nik/tmp/ff-ll/02.jpg file:///home/nik/tmp/ff-ll/01.jpg"); результат - 0 2) ff 3.0.5 (win) - примерно тоже самое, но с учётом других путей результат - 0 Нижу привожу код страницы, для тех кто пожелает быстро проверить. Выделить код Код:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script language="javascript" type="text/javascript"> // <!-- function getlink( e ) { img = document.getElementById('img'); img.src = e.value; alert( img.src ); } // --> </script> </head> <body> <input type="text" name="url" value="file:///home/nik/tmp/ff-ll/02.jpg" size="100" maxlength="100" onchange="getlink(this);"> <img id="img" src="" width="100" height="100" align="left" border="2"> </body> </html> Если открыть страничку локально или набрать URL в строке адреса, то картинка грузиться. Вопрос: у кого-нибудь подобная штука работает? Про localink знаю, но он не помошник в случае динамического кода. Хотелось бы найти решение с правкой конфига или в крайнем случае плагином-расширением. |
Elexander > 19-12-2008 15:49:42 |
В настройке "capability.policy.localfilelinks.sites" должны быть перечислены url-ы сатов, которым разрешено грузить рисунки по протоколу file. Например, "http://google.com http://localhost" - сайтам google.com и localhost разрешено грузить контент с локального диска. |
devcoder > 19-12-2008 18:20:03 |
Попробовал, добавил "http://servername" - безрезультатно. |
Elexander > 22-12-2008 10:31:49 |
Это должно работать. Очевидно вы где-то допустили ошибку. Проверьте следующие пункты: Выделить код Код:user_pref("capability.policy.policynames", "localfilelinks"); user_pref("capability.policy.localfilelinks.sites", "http://www.example.com"); user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess"); 4) Внесенные настройки сохраняются после перезапуска браузера. Выделить код Код:user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess"); user_pref("capability.policy.localfilelinks.sites", "http://www.google.com.ua"); user_pref("capability.policy.policynames", "localfilelinks"); 2) Перейдите на www.google.com.ua и в DOM Inspector попробуйте поменять src у большого логотипа. Сейчас там стоит "/logos/holiday08_2.gif", замените на что-то типа file://c:\testimg.jpg Конечно, есть варианты с написанием адона и загрузкой картинок из его поддиректорий по протоколу chrome. Есть вариант с реализацией собственного протокола. Но вариант с настройками в prefs.js профиля проще всего для решения данной задачи. |
devcoder > 22-12-2008 16:06:48 |
Спасибо, да, я ошибся, не определил "localfilelinks" в "policynames". http://kb.mozillazine.org/Security_Policies Хотя лёгкое недоумение вызывает следующее: |