rbfyec
Мистика однако. Маловероятно что настройки виноваты, это наверно какое то расширение глючит можно попробовать отключать их по одному и запускать код, и тогда узнаешь кто виноват.
Что ты этим кодом хочешь добиться?
Отсутствует
bunda1 посмотри, может подойдет для перевода в Google как в Microsoft :
//--------Перевести страницу с Google в новой вкладке-------------- if ( "noscriptUtil" in window ) { var autoReload = custombuttons.getPrefs("noscript.autoReload"); if ( autoReload ) custombuttons.setPrefs("noscript.autoReload", false); noscriptOverlay.allowPage(); if ( autoReload ) setTimeout(function() { custombuttons.setPrefs("noscript.autoReload", true) }, 10) } // перевод страницы в новой активной вкладке .... var newTab = gBrowser.duplicateTab(gBrowser.mCurrentTab); ++gBrowser.tabContainer.selectedIndex; // Убирает глюк (перевод не клонируемой, а последней) если переводимая вкладка находится не в конце gBrowser.selectedTab = newTab //... gBrowser.addEventListener("pageshow", function(event) { gBrowser.removeEventListener("pageshow", arguments.callee, true); getBrowser (). loadURI (atob ("amF2YXNjcmlwdDp7ZD1kb2N1bWVudDtiPWQuYm9keTtvPWQuY3JlYXRlRWxlbWVudCgnc2NyaScrJ3B0Jyk7by5zZXRBdHRyaWJ1dGUoJ3NyYycsJ2h0dHA6Ly90cmFuc2xhdGUuZ29vZ2xlLmNvbS90cmFuc2xhdGVfYS9lbGVtZW50LmpzP2NiPWdvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0JmhsPXJ1Jyk7by5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCd0ZXh0L2phdmFzY3JpcHQnKTtiLmFwcGVuZENoaWxkKG8pO3Y9Yi5pbnNlcnRCZWZvcmUoZC5jcmVhdGVFbGVtZW50KCdkaXYnKSxiLmZpcnN0Q2hpbGQpO3YuaWQ9J2dvb2dsZV90cmFuc2xhdGVfZWxlbWVudCc7di5zdHlsZS5kaXNwbGF5PSdub25lJztwPWQuY3JlYXRlRWxlbWVudCgnc2NyaScrJ3B0Jyk7cC50ZXh0PSdmdW5jdGlvbiUyMGdvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0KCl7dmFyJTIwdEVsZW0lMjA9JTIwbmV3JTIwZ29vZ2xlLnRyYW5zbGF0ZS5UcmFuc2xhdGVFbGVtZW50KHtwYWdlTGFuZ3VhZ2U6IiJ9LCJnb29nbGVfdHJhbnNsYXRlX2VsZW1lbnQiKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCklMjB7JTIwdEVsZW0uc2hvd0Jhbm5lcih0cnVlKTslMjB9LDEwMCk7fSc7cC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCd0ZXh0L2phdmFzY3JpcHQnKTtiLmFwcGVuZENoaWxkKHApO312b2lkJTIwMA==")); }, true);
Отредактировано Andrey_Krropotkin (13-01-2013 14:18:04)
Отсутствует
Очевидно, загружает результат выполнения atob (" ... ").
javascript:{d=document;b=d.body;o=d.createElement('scri'+'pt');o.setAttribute('src','http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit&hl=ru');o.setAttribute('type','text/javascript');b.appendChild(o);v=b.insertBefore(d.createElement('div'),b.firstChild);v.id='google_translate_element';v.style.display='none';p=d.createElement('scri'+'pt');p.text='function%20googleTranslateElementInit(){var%20tElem%20=%20new%20google.translate.TranslateElement({pageLanguage:""},"google_translate_element");setTimeout(function()%20{%20tElem.showBanner(true);%20},100);}';p.setAttribute('type','text/javascript');b.appendChild(p);}void%200
+ decodeURI()
javascript:{d=document;b=d.body;o=d.createElement('scri'+'pt');o.setAttribute('src','http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit&hl=ru');o.setAttribute('type','text/javascript');b.appendChild(o);v=b.insertBefore(d.createElement('div'),b.firstChild);v.id='google_translate_element';v.style.display='none';p=d.createElement('scri'+'pt');p.text='function googleTranslateElementInit(){var tElem = new google.translate.TranslateElement({pageLanguage:""},"google_translate_element");setTimeout(function() { tElem.showBanner(true); },100);}';p.setAttribute('type','text/javascript');b.appendChild(p);}void 0
javascript: { d = document; b = d.body; o = d.createElement('scri' + 'pt'); o.setAttribute('src', 'http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit&hl=ru'); o.setAttribute('type', 'text/javascript'); b.appendChild(o); v = b.insertBefore(d.createElement('div'), b.firstChild); v.id = 'google_translate_element'; v.style.display = 'none'; p = d.createElement('scri' + 'pt'); p.text = 'function googleTranslateElementInit(){var tElem = new google.translate.TranslateElement({pageLanguage:""},"google_translate_element");setTimeout(function() { tElem.showBanner(true); },100);}'; p.setAttribute('type', 'text/javascript'); b.appendChild(p); } void 0
А еще оно глобальные переменные создает.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Как открыть из кода инициализации кнопки всплывающую подсказку(tooltip) у кнопки и как в эту подсказку добавить иконку или изображение. Я тут нашёл код который сам открывает подсказку но не рядом с кнопкой и без иконки, может кто подправит или предложит вариант попроще:
function showToTooltip( button ) { var id = "cbpopup" + button; var p = document. getElementById( id ); if ( !p ) { p = <tooltip xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id={id} onpopupshown="setTimeout((function (arg) { return function () {arg. hidePopup ();}})(this), 2000)"/> p = new DOMParser().parseFromString( p.toXMLString(), "application/xml" ).documentElement; var ps = document.getElementById("mainPopupSet"); ps. appendChild( p ); p. style.fontWeight = "bold"; p. style.color = "green"; p. onpopupshown = "{let THIS = this; setTimeout(function() { THIS.hidePopup() }, 2) }"; } p. label = "bunda" + 1; p. openPopupAtScreen( 24, 24 , false ); } showToTooltip( this.id );
Отредактировано bunda1 (13-01-2013 19:24:19)
Отсутствует
bunda1
tooltip
=> openPopup()
=> openPopupAtScreen()
?
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Теперь сама открывается но не у кнопки, как это исправить.
var ps = document.getElementById("mainPopupSet"); var xulns = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; var ttId = this.id + "-tooltip"; var tt = document.getElementById(ttId); if(tt) ps.removeChild(tt); tt = custombuttonsUtils.makeXML( <tooltip xmlns={xulns} id={ttId} align="center"> <label value="Some image:" /> <image src="http://forum.mozilla-russia.org/img/browsers/firefox35.png" /> </tooltip> ); ps.appendChild(tt); this.removeAttribute("tooltiptext"); this.setAttribute("tooltip", ttId); setTimeout(function() { document.getElementById( ttId ).openPopup() }, 4000) setTimeout(function() { document.getElementById( ttId ).hidePopup() }, 8000)
Отсутствует
открывается но не у кнопки
var btn = this; setTimeout(function() { tt.openPopup(btn); }, 4000); setTimeout(function() { tt.hidePopup(); }, 8000);
Добавлено 13-01-2013 20:51:09
Ну, или еще как-нибудь, см. https://developer.mozilla.org/en-US/doc … /openPopup.
Отредактировано Infocatcher (13-01-2013 20:51:09)
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
иконку в подсказке поставить ровно перед текстом
Например, так:
<tooltip xmlns={xulns} id={ttId} align="center" orient="horizontal"> <image src="http://forum.mozilla-russia.org/img/browsers/firefox35.png" /> <label value="Some image:" /> </tooltip>
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Infocatcher Спасибо что разъяснили пока меня не было:
1. Переделал в atob (" ... ") т.к. кнопка с чистым javascript: выкидывало постоянно в ошибки
2. Параметр googleTranslateElementInit&hl=ru отвечает на каком языке показывать верхнюю панель и на какой язык по умолчанию переводить
3. setTimeout(function() { tElem.showBanner(true); },100); отвечает за автоматический перевод
Подсказки для кода увидел на http://productforums.google.com/forum и на http://marklets.com/Translate.aspx
Отредактировано Andrey_Krropotkin (13-01-2013 22:32:03)
Отсутствует
Попробуй:
Выделить кодКод:
javascript:(function(){ window.open('https://www.google.com/search?q='+encodeURIComponent( document.commandDispatcher.focusedWindow.getSelection() ),'', 'width=1010, height=280,top=315, scrollbars=yes')})()
bunda1
Спасибо, этот код работает. Только получается при запуске браузера сами собой открываются все эти окошки с прошлого сеанса.
Причём открываются в полном размере, а не в том какой задан в коде. Окна пустые, а в адресной строке такого окна написано:
wyciwyg://<действительный адрес>
Как с этим бороться?
Отредактировано rbfyec (14-01-2013 00:49:44)
Отсутствует
rbfyec
У меня с твоим кодом такое не наблюдается и принципе используя Firegestures такое быть не может. Наверно браузер или какое то расширение пытается восстановить сессию или просто глючит. Надо просто по одному отключить все расширения + рестарт и когда эти окна не будут появляться ты найдешь виноватое расширение.
Отсутствует
Infocatcher
Хочу снова пожаловаться на Windows-Блокнот
Вот так помогает:
copyTootipContent: function() { var node = this._node; var sourceWindow = node && (node.ownerDocument || node).defaultView; var tt = this.context.tt; var text = Array.map(tt.childNodes, function(node) { return node.textContent; // }).join("\n"); }).join("\u000D\u000A"); ...
Собственно вопрос:
Ожидаются ли какие-нибудь негативные последствия такого вмешательства,
или можно так оставить ?
Отредактировано Dumby (14-01-2013 21:55:31)
Отсутствует
Dumby
Может это тебе будет это интересно - я в четыре подхода по десять раз использовал оба варианта кода перевода 05-01-2013 10:26:34 и 09-01-2013 14:52:04 для перевода одного и того текст и потребление памяти возрастала одинаково а потом падала до изначального уровня.
Отредактировано bunda1 (15-01-2013 23:27:00)
Отсутствует
Спасибо, видимо так и поступлю.
Еще такой вопрос - скрипт нажимает кнопку и должен ожидать неких изменений (страница сменилась или там элемент какой появился). А вот как построить такое ожидание ? Цикл с таймером не подходит т.к. цикл вешает браузер.
Отсутствует
Вроде можно решить через временное модальное окно. Но надо подключать JQuery, а я не знаю как это сделать на скрипте
While (1) {
$(function(){
$(".box").dialog({modal:true});
setTimeout(function(){ $(".box").remove()},3000);
})
if () {
break ;
}
}
Отсутствует
Может это тебе будет это интересно
Да-да, интересно. Тоже попробовал поэкспериментировать.
Но если где-то «снаружи» сохранить ссылки на каждый документ - то 300 МБ ням-ням.
Наверное это то, о чём написано в книге на странице 73.
Отредактировано Dumby (16-01-2013 21:13:42)
Отсутствует