Полезная информация

Пользователи не любят читать документацию. Станьте оригинальным, будьте не как все. Ознакомьтесь с нашей базой знаний.

Разработка » Помогите плиз адаптировать javascript: URL для FireFox » 25-12-2009 23:27:56

luitzen пишет

Kramar, простите, я продублировал это сообщение на тамошнем форуме :).

Почему это вдруг "простите", наоборот спасибо Вам за это, только там про привилегии слегка по-другому сказано.

Разработка » Помогите плиз адаптировать javascript: URL для FireFox » 23-12-2009 12:19:43

Еще раз большое спасибо ответившим. Пост на natahaus.info -

скрытый текст
Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст.

Разработка » Помогите плиз адаптировать javascript: URL для FireFox » 22-12-2009 21:56:39

luitzen пишет

При первом применении появляется диалог, в котором спрашивается, можно ли дать сценарию дополнительные привилегии. Если выставить флаг «запомнить решение», то больше этот диалог не повляется.

У меня этого диалога не было и отключение NoScript никак на это не повлияло. Диалог появился только после изменения в about:config параметра signed.applets.codebase_principal_support на true. После этого спрашивает о привилегиях. Изменение signed.applets.codebase_principal_support на true ничем страшным не чревато?

После всех проведенных операций скрипт работает именно так, как его просили.

Огромное спасибо luitzen и formatC'vt за помощь и терпение.

Можно ли опубликовать полученное решение на форуме natahaus.info с упоминанием и благодарностью luitzen и formatC'vt ?

Разработка » Помогите плиз адаптировать javascript: URL для FireFox » 22-12-2009 16:28:06

luitzen пишет

Как-нибудь так тогда:

Выделить код

Код:

javascript: td = document.getElementsByClassName('newsbody')[0].textContent;netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper).copyString(td.match(/^Автор:\xA0([^\n]*)$/m)[1] + ' - ' + td.match(/^Название:\xA0([^\n]*)$/m)[1]);

Хотелось бы, конечно, ограничиться меньшими привилегиями и выкрутиться через .execCommand("Copy", false, null).
Но как я ни мучился со всякими capability.policy.allowclipboard, результата не достиг :(.

Консоль ошибок пишет Ошибка: A script from «http://www.infanata.org» was denied UniversalXPConnect privileges.
Стоит правда NoScript, но на infanata он неактивен.

Разработка » Помогите плиз адаптировать javascript: URL для FireFox » 22-12-2009 10:53:50

formatC'vt пишет

Попробуйте через ClipboardHelper

Спасибо, интуитивно чувствую - "оно", но опять же таки дело в том, что в JavaScript я даже не чайник, а подставка от него.

Я так понимаю, что в примере выше alert(); я должен заменить на gClipboardHelper.copyString(); с соответствующим содержимым? Но чтобы оно заработало надо куда-то воткнуть const gClipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"]. getService(Components.interfaces.nsIClipboardHelper);

Вопрос задачи - куда? Или совсем-совсем неправ?

Понимаю, что в глазах сообщества выгляжу как ... (заполнить на свое усмотрение), но прошу снизойти до объяснений.

Разработка » Помогите плиз адаптировать javascript: URL для FireFox » 21-12-2009 18:04:04

luitzen пишет

javascript: td = document.getElementsByClassName('newsbody')[0].textContent; alert(td.match(/^Автор:\xA0([^\n]*)$/m)[1] + ' - ' + td.match(/^Название:\xA0([^\n]*)$/m)[1]);

О, спасибо, работает, т.е. поменяв порядок элементов и добавив год, получаем:

javascript: td = document.getElementsByClassName('newsbody')[0].textContent; alert(td.match(/^Название:\xA0([^\n]*)$/m)[1] + ' - ' + td.match(/^Автор:\xA0([^\n]*)$/m)[1] + ' (' + td.match(/^Год:\xA0([^\n]*)$/m)[1] + ')');

Для полного счастья осталось занести это в буфер а не выдать alert (если есть такая возможность)

Разработка » Помогите плиз адаптировать javascript: URL для FireFox » 21-12-2009 01:27:06

Помогите плиз адаптировать javascript: URL (букмарклет) для FireFox или создать скрипт для Greasemonkey

В IE отлично работает вот такая штука

javascript:t=document.body.outerHTML;autor_reg=/Автор:<\/B>[^>]*>([^<]*)/;autor=autor_reg.exec(t)[1];name_reg=/Название:[/s]*<\/[bB]>[^>]*>([^<]*)/;name=name_reg.exec(t)[1];year_reg=/Год:[/s]*<\/[bB]>[^\d]*(\d*)/;year=year_reg.exec(t)[1];s=name+' '+autor+' ('+year+')';clipboardData.setData('Text',s);

В FieFox естественно работать не хочет, познаний в JavaScript практически нет и беглое знакомство с тематикой показывает, что мне как не программеру уйму времени надо убить для минимального понимания, а возможности такой нет.

В Инете накопал, что FireFox не дружит с outerHTML, попробовал заменить на document.documentElement.innerHTML, текст странички выдает, но с кириллицей явные проблемы (в скрипте слова Автор, Название, Год).

javascript:t=document.documentElement.innerHTML;autor_reg=/Автор:<\/B>[^>]*>([^<]*)/;autor=autor_reg.exec(t)[1];name_re

Флейм » Какие расширения, несовместимые с Firefox 3, нужны больше всего? » 02-09-2008 09:03:03

Lain_13
В Tabbrowser Preferences больше всего нравилось переключение вкладок наведением указателя мыши; почитав справку к TMP увидел, что там это тоже есть. Спасибо за подсказку, попробую.

Флейм » Какие расширения, несовместимые с Firefox 3, нужны больше всего? » 31-08-2008 00:38:33

В ветке уже один раз упоминалось, но рискну напомнить про Tabbrowser Preferences

Firefox » Перестало нормально работать "штатное" сохранение сессий FF 2.0.0.11 » 09-05-2008 01:01:26

Или это открытие множества ссылок из избранного?

Нет, режим работы примерно такой - FireFox практически не выгружается (ХР спящий режим), только открываются новые вкладки, т.е. постепенно количество вкладок зашкаливает где-то за 150-200.

Firefox » Перестало нормально работать "штатное" сохранение сессий FF 2.0.0.11 » 08-05-2008 16:14:44

Типа он не успевал открыть все, а уже пытался сохранять очередную сессию что ли?

Нет, не успевал за 10 секунд сохранить сессию, а уже получал команду сохранять по новой. Т.е. речь не об открытии вкладок, а о сохранении сессий.

Firefox » Перестало нормально работать "штатное" сохранение сессий FF 2.0.0.11 » 07-05-2008 20:24:58

Al_H
Так вроде проблему с сохранением сессий уже решил. А большое количество вкладок - с этим можно жить :)

Firefox » Перестало нормально работать "штатное" сохранение сессий FF 2.0.0.11 » 07-05-2008 09:48:20

Листая форум вроде нашел подходящий вариант решения проблемы.

На мысль натолкнул уважаемый Forest. Вот его слова: "А если поставить Минимальный интервал между 2 сохранениями не 10 сек, а побольше? А так понятно, что сохранение нескольких сотен вкладок требует времени..."

Наверное моему Фоксу при открытии большого количества вкладок (да, грешен) не хватало стандартного времени 10 секунд, поменяв его в настройках на 2 минуты я избавился от проблемы (очередной раз надеюсь, но похоже на правду), вот почему не мог поймать закономерность возникновения ошибки (зависит от количества открытых вкладок).

Firefox » Перестало нормально работать "штатное" сохранение сессий FF 2.0.0.11 » 05-02-2008 10:09:30

Если файлик sessionstore.js убить при неработающем ФФ, он появляется в момент запуска, но потом не всегда обновляется. Закономерность установить пока не удалось, иногда работает, иногда нет. Пока выхожу из ситуации корявенько - при необходимости закрыть ФФ захожу в установки домашней страницы - Использовать текущие страницы и при запуске показать Домашнюю страницу. Думаю, что проблему поможет разрешить все-таки часть кода, приведенная в первом посте, т.к. взаимосвязь с несохранением сессий и появлением в Консоли ошибок ссылки на "Строка: 1749" осталась.

Firefox » Перестало нормально работать "штатное" сохранение сессий FF 2.0.0.11 » 31-01-2008 15:30:13

Насколько я понимаю, это ведь и есть штатный режим сохранения сессий

По-моему не совсем так... Под сохранением сессий я понимаю периодическую перезапись файла sessionstore.js (до закрытия ФФ)

Откуда у вас там 1000?

По идее это всего лишь кол-во запомненных закрытых вкладок в журнале, с этим параметром экспериментировал - не помогло.

browser.sessionstore.resume_session

этот параметр указывает ФФ, нужно ли возобновлять сессию при аварийном закрытии проги - задается вопрос пользователю.

Если теперь ещё раз попробовать его прибить?

Во время работы ФФ убивать файл пробовал - вновь не появляется.

Все сказанное ИМХО. Спасибо за желание помочь.

Firefox » Перестало нормально работать "штатное" сохранение сессий FF 2.0.0.11 » 31-01-2008 13:12:35

MySh
Закономерность отловить не удалось. К самому ФФ в принципе претензий нет - не падает ни он, ни Винда (тьфу-тьфу).
Поставил в настройках При запуске ФФ - Показать окна и вкладки, открытые в прошлый раз. Теперь sessionstore.js сохраняется один раз при запуске ФФ и больше в процессе работы не обновляется.

Firefox » Перестало нормально работать "штатное" сохранение сессий FF 2.0.0.11 » 30-01-2008 14:54:40

Help! Проблема вернулась :( ни у кого мыслей по этому поводу не появилось?

Firefox » Перестало нормально работать "штатное" сохранение сессий FF 2.0.0.11 » 25-12-2007 12:19:18

Проблема решена переустановкой Firefox с нуля (а по случаю - и всей системы :) ). Скорее всего виновато было обновление версий Firefox (то ли криво скачалось, то ли также установилось), т.к. поставлена та же версия и те же расширения + несколько новых.

P.S. Может кому-нибудь поможет...

Firefox » Перестало нормально работать "штатное" сохранение сессий FF 2.0.0.11 » 12-12-2007 19:28:10

Вопрос: интуитивно где-то после версии FF 2.0.0.8 (точно не скажу) начались проблемы с сохранением сессий - файлик sessionstore.js в профиле не всегда обновляется в соответствии с выбранным в настройках интервалом времени. Используется "родное" восстановление сессий (без дополнений). Устанавливать для этого дополнения почему-то не хочется (как-то пробовал Tab Mix Plus). Периодичность возникновения ошибки непредсказуема - работает, работает, потом "забывает", что надо перезаписывать файлик sessionstore.js.

Консоль ошибок пишет:

Ошибка: [Exception... "Component is not available"  nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)"  location: "JS frame :: file:///C:/Program%20Files/Mozilla%20Firefox/components/nsSessionStore.js :: sss_saveState :: line 1749"  data: no]
Источник: file:///C:/Program%20Files/Mozilla%20Firefox/components/nsSessionStore.js
Строка: 1749

В этой строке (1749) содержится вот такая штука:
     oState.session = { state: ((this._loadState == STATE_RUNNIN

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]