Страницы: 1
на дворе 2017, а многопоточности нет... пока нет... потихоньку вводят
ждемс релиза с включенным многопотоком!
fireday2
Попробуйте расширение Master Password+, возможно его функционал поможет.
Большое спасибо! вы решили мою проблему!
Jerome, включена
Если да, тогда это именно для процедуры синхронизации запрашивается мастер пароль.
Не согласен. Ибо, по какой причине, включенная синхр. должна вызывать окно при обновлении страницы ?
1. Запустить браузер в "безопасном" режиме (Справка - "Перезапустить без дополнений") и поработать в нём. Если требование ввода пароля не возникнет, значит искать виновное расширение путём последовательных отключений.
Запустил в "безопасном" - не помогло
Отключил все плагины и расшерения - не помогло
похоже что дело не в плагинах и не в расширениях
Vladimir_S, Если зайти на страницу (не реклама) http://animeradio.su/ и обновлять (f5) страницу - стабильно выскакивает запрос :/
проверить на другом пк (выскакивает ли окно с установленным мастер паролем на этом сайте) сейчас возможности нет, как появиться - проверю
Vladimir_S, в суматохе перепутал
Вот кто-то из них и пытается запуститься в фоне
По твоему в появлении окошка запроса пароля виноват запуск плагина?
тогда уточню: стоит открыть браузер, без вкладок, и подождать - вылетит окно запроса
так же часто окно вылетает прямо при запуске браузера
Доброго времени!
Как активного пользователя браузера фаерфокс беспокоят следующие вопросы
1) Отсутствие пункта «Запрашивать при запуске» в опциях мастер-пароля
Использую браузер на работе - для меня крайне необходимая функция
1.1) По какой причине ее убрали ?
1.2) Вернут ли данную опцию ?
2) Периодически вылетает окно с запросом мастер пароля, при полном отсутствии моей активности
что значит - плагины расширения совершают действия, требующее подтверждения мастер паролем. Плагинов активно на момент произвольного вызова запроса ввода пароля всего два: Adblock Plus; Speed Dial [FVD] - New Tab Page
2.1) По моему это явная ошибка - выдавать юзеру окно ввода подтверждения, если это не его запрос. Такие запросы нужно просто блокировать. Либо добавить опцию в раздел настроек мастер-пароля с возможностью выбрать что делать с такими запросами (блокировать/спрашивать/разрешать. возможно возможность настраивать для отдельных плагинов)
2.2) Известно ли о данной проблемы выскакивания окна
спасибо
загляните пожалуйста в топик https://forum.mozilla-russia.org/viewtopic.php?id=65619
В каком из
Как посмотреть что вызывается? искать по тексту "забыть об этом сайте" ?
нужно получить список подгружаемых на странице скриптов
до конца загрузки страницы (до начала работы скриптов)
и удалить некоторые из них
Как это правильно сделать?
мои мысли:
Внедряю в страницу свой скрипт, в который передаю список скриптов, которые нужно удалить
main.js
tabs.on('ready', function(tab) { var includeUrl = tab.url; if (includeUrl.indexOf('/') > 0) { worker = tab.attach({ contentScriptFile: self.data.url("remove_scripts.js") }); worker.port.emit('SubstitutionList', SubstitutionList, SubstitutionListSize); } });
remove_scripts.js
[code]self.port.once('SubstitutionList', function(SubstitutionList, SubstitutionListSize){
переменная page, в которую записывается конечный код страницы
цикл с предусловием пока поиск в странице '<script' не даст -1
а=поиск в странице '<script'
б=поиск начиная с места нахождения 'src='
в
Спасибо
Но, запросов много и разные, каждый раз приписывать рандомный параметр не хочется
Как очистить кеш не знаете?
Здравствуйте. Помогите. Хочу написать скрипт, который на определенной странице будет искать заранее определенную фразу, состоящую из нескольких слов. Во фразе каждый раз меняется 1 слово. Скрипт должен эту фразу сохранять в текстовый файл. Каждый следующий цикл скрипта должен добавлять текст в файл с новой строки. Подскажите, может на наглядном примере, как это сделать!? Заранее спасибо!
Нет, все таки проблема с кешем присутствует
Подскажите, каким параметром командной стоки очищать кеш ?
Данные получаются с сервера посредством XMLHttpRequest
var xhr = new XMLHttpRequest(); xhr.open('GET', ss.storage.serverURL+'checkV.html', true); xhr.send(null); xhr.onreadystatechange = function() { if (xhr.readyState == 4) { if (xhr.responseText) { var data = xhr.responseText;
опять
Почему вместо имени скрипта пустое место и 0 строка?
Что это за ошибка
куда копать?
скрипт работает как надо
использую
var pageMod = require("sdk/page-mod"); var self = require("sdk/self"); var ss = require("sdk/simple-storage"); const {Cc,Ci,Cu} = require("chrome"); const {components} = require("chrome"); const {XMLHttpRequest} = require("sdk/net/xhr"); Cu.import("resource://gre/modules/Timer.jsm"); var tabs = require("sdk/tabs");
плагин внедряет по таймеру в страницу js скрипт
[spoiler][code]tabs.on('ready', function(tab) {
if (Check==true)
{
var includeUrl = tab.url;
if (includeUrl.indexOf('/') > 0)
{
var mScript;
mScript = 'var newScript = document.createElement("script");'+'newScript.type = "text/javascript";'+
'newScript.src = "'+ ScriptUrl +'";'+'document.getElementsByTagName("head")[0].appendChild(newScript);';
tab.attach({
Проблема решилась
Моя была ошибка, все загружается как надо
Как очистить кеш?
Плагин обращается по url для получения данных
Обновляю данные на сервере, запускаю плагин (cfx run --profiledir="fireday"), плагин качает старые данные
Разобрался
sDownloadUrl - путь к файлу на сервере
sPath - путь к файлу (с одинарным бекслешем, например "D:\my-folder\audio". Если указать двойные бекслешы - работать будет, но тогда открыть директорию куда был загружен файл через стандартное меню загрузки не выйдет)
sFileName - имя загружаемого файла с расширением (например, my-music.mp3)
[code]function df(sDownloadUrl, sPath, sFileName)
{
Cu.import("resource://gre/modules/Downloads.jsm");
Cu.import("resource://gre/modules/osfile.jsm")
Cu.import("resource://gre/modules/Task.jsm");
Task.spawn(function () {
let list = yield Downloads.getList(Downloads.ALL);
try {
let download = yield Downloads.createDownload({
source: sDownloadUrl,
target: OS.Path.join(sPath,sFileName)
});
console.log('OS.Constants.Path.tmpDir='+OS.Constants.Path.tmpDir);
list.add(download);
try {
download.start();
}
final
Разобрался
Для общения между скриптами, например lib\main.js и data\my-script.js
используется "port"
Как это работает - https://developer.mozilla.org/en-US/Add … using_port
Файл загружаю из main.js так:
Cu.import("resource://gre/modules/PrivateBrowsingUtils.jsm"); var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); file.initWithPath(DlgResult); var wbp = Cc['@mozilla.org/embedding/browser/nsWebBrowserPersist;1'].createInstance(Ci.nsIWebBrowserPersist); var ios = Cc['@mozilla.org/network/io-service;1'].getService(Ci.nsIIOService); var uri = ios.newURI(downloadurl, null, null); wbp.saveURI(uri, null, null, null, "", file, null);
Нужно отображение прогресса загрузки, и отображение загруженного файла в общем списке загрузок
Дайте хотя бы инфу что гуглить
з.ы. не знаю как передать последним параметром privacy
var privacy = PrivateBrowsingUtils.privacyContextFromWindow(urlSourceWindow);
Что за urlSourceWindow ?
Разобрался
Для общения между скриптами, например lib\main.js и data\my-script.js
используется "port"
Как это работает - https://developer.mozilla.org/en-US/Add … using_port
Нашел экспорт функций из скриптов "myplugin\data\" в "myplugin\lib\main.js"
SomeScriptInFolderData.js:
main.js:
Как провернуть то же самое в обратном направлении?
плагин собираю с помощью cfx
по этому туториалу https://developer.mozilla.org/en-US/Add … stallation , https://developer.mozilla.org/en-US/Add … ng_started
как вызвать функцию в "myplugin\lib\main.js" из скриптов расположенных в "myplugin\data\" ?
В плагинах под chromium была конструкция:
В скрипте бекграудна (с доступом к фичам браузера) была функция приемник:
chrome.extension.onRequest.addListener(function (request, sender, callback) { var action = request.action; if (action == 'download_from_vk') { chrome.downloads.download({ url: request.url, saveAs: false, filename: request.name }); returnMessage(request.message); } }
Из локальных (под каждую страницу свой) скриптов обращался к функции так
Нужен аналогичный код для firefox
…Michael72, спасибо большое, разобрался с вызовом из main.js,
но в скриптах расположенных в "myplugin\data\" не открывает
Не срабатывает строка const {Cc} = require("chrome");
видимо ограничен круг видимости этих скриптов
Теперь вопрос: как вызвать функцию в "myplugin\lib\main.js" из скриптов расположенных в "myplugin\data\" ?
В плагинах под chromium была конструкция:
В скрипте бекграудна (с доступом к фичам браузера) была функция приемник:
chrome.extension.onRequest.addListener(function (request, sender, callback) { var action = request.action; if (action == 'download_from_vk') { chrome.downloads.download({ url: request.url, saveAs: false, filename: request.name }); returnMessage(request.message); } }
Из локальных (под каждую страницу свой) скриптов обращался к функции так
Нужен аналогичный код для firefox
…Подсказали код (спасибо Michael72):
function InputFileName(filename='') { var utils = require('sdk/window/utils'); var nsIFilePicker = Ci.nsIFilePicker; var fp = Cc['@mozilla.org/filepicker;1'].createInstance(nsIFilePicker); fp.init(utils.getMostRecentBrowserWindow(), 'Сохранить файл', nsIFilePicker.modeSave); fp.appendFilter('mp3','*.mp3'); fp.defaultString = filename; var fp_result = fp.show(); if (fp_result == nsIFilePicker.returnOK || fp_result == nsIFilePicker.returnReplace) { var path = fp.file.path; return path; } else if (fp_result == nsIFilePicker.returnCancel) { return 'cancel'; } }
Более подробно тут https://developer.mozilla.org/en-US/doc … FilePicker
там же подробности о фильтрах
// код тестировал в lib\main.js
…Всем доброго времени суток
Учусь писать плагины
Сейчас пишу загрузчик музыки из vk (для себя)
url файла и его имя есть, нужно открыть стандартный диалог сохранения файла
пытался сделать так
function download(url, name) { var link = document.createElement("a"); link.download = name; link.href = url; link.click(); }
не работает
функция расположена в "myplugin\data\VKdownload.js"
вызов скрипта VKdownload идет из "myplugin\lib\main.js"
pageMod.PageMod({ include: "https://vk.com/*", contentScriptFile: [self.data.url("jquery.js"), self.data.url("VKdownload.js")] });
плагин собираю с помощью cfx
по этому туториалу https://developer.mozilla.org/en-US/Add … stallation , https://developer.mozilla.org/en-US/Add … ng_started
помогите открыть стандартный файловый диалог
…Страницы: 1