otwieranie w kartach

w dziale Dostosowywanie Opery do własnych potrzeb
bp2111 napisał(a):

Witam
Czy w Operze można ustawić, żeby wszystkie klikane linki oraz strony otwierane z paska adresu, ulubionych itp. otwierały się w nowej karcie? (chodzi mi o zwykłe kliknięcie LPM, bez żadnych ctrl itp.)

woj-tek napisał(a):

W opcjach zaawansowanych w kategorii karty odznacz opcję Ponowniej użyj karty - powinno pomóc.

bp2111 napisał(a):

Mówisz o opcji "Używaj bieżącej karty"? Mam odznaczone.

Zajec napisał(a):

Gdy w pasku adresu wciśnisz Enter, to nowa strona otwiera się zawsze w tej samej karcie. Jeśli natomiast chodzi o to, że na części stron linki po kliknięciu otwierają się w nowej karcie to jest to wina webmasterów. Umieszczają oni wpis target="_blank" który informuje przeglądarkę, że ten link trzeba koniecznie otworzyć w nowej karcie.

Aby się pozbyć tych targetów nadanych przez webmastera należy zastosować skrypt "Otwieranie stron w tej samej karcie" ze strony http://operawiki.info/SkryptyUzytkownika , jak się go instaluje masz napisane na tej samej stronie w akapicie o nagłówku "Jak ich używać?".

bwisnio napisał(a):

Zajec, mam dziwne wrażenie że jemu chodzi o odwrotny efekt =]

Zajec napisał(a):

O, faktycznie. Ale przecież to zwraciować wtedy można. Jakiego linka na oglądanie stronie byśmy nie kliknęli, otworzy się w nowej karcie. Przejrzenie strony skłądającej się z 10 podstron to automatycznie 10 kart :-|

bp2111 napisał(a):

Originally posted by Zajec:

Przejrzenie strony skłądającej się z 10 podstron to automatycznie 10 kart :-|


Wiem. O to chodzi. Mam dość nietypowe oczekiwania, to fakt wink

Zajec napisał(a):

Jeśli tak chcesz... ;-) Przeczytaj instrukcję instalacji skryptów użytkownika na stronie do której podlinkowałem i zastosuj sobie taki skrypt:

window.addEventListener('DOMContentLoaded',function()
{
	var links = document.getElementsByTagName('a');
	for(var i=0; i<links.length; i++)
	{
		if (!links[i].getAttribute('target'))
		links[i].setAttribute('target', '_blank');
	}
},false);

daroc napisał(a):

Oo... fajne to zdarzenie DOMContentLoaded. wink
Zawsze denerwowało mnie, że w większości UserJS trzeba czekać na załadowanie całego dokumentu. Na początek podrzucę to zdarzenie do googleimages-thumblink.js, removeblank.js i spróbuję jeszcze do autosizer.js. Mam nadzieję że będzie wszędzie działać. smile

Swoją drogą na co dokładnie reaguje zdarzenie BeforeEvent.load? Nie mogę tego znaleźć nigdzie, żeby było opisane w jasny sposób..

Zajec napisał(a):

Nie uda się chyba zastosować tego co autosizer.js z tego względu, że obrazek musi zostać załadowany aby przeglądarka mogła go odpowiednio pomniejszyć. Możnaby natomiast zrobić pewnę pętle, która dopasuje obrazek w momencie, gdy tylko pozna jego rozmiar: czyli po pobraniu jego pierwszych kilku kilobajtów.

Co do BeforeEvent.load, to skrypt taki będzie wykonany przed skryptem, który został umieszczony w onload="". Dla przykładu z elementem body:

<body onload="alert('Rafał');">
<script type="text/javascript">
document.addEventListener('BeforeEvent.load', function ()
{
alert('Miłecki');
},false);
</script>

Zwróci dwa alerty w kolejności:
1) Miłecki
2) Rafał

daroc napisał(a):

Ciężka sprawa z tym autosizerem... Cóż, pewnie gdyby się to dało zrobić lepiej (w tak prosty sposób), to autor skryptu by to zrobił. bigsmile

Zajec napisał(a):

Eee tam ciężka ;-) Powiedz mi tylko, czy chodzi Ci o ten: http://userjs.org/scripts/browser/enhancements/autosizer ?

daroc napisał(a):

Dokładnie o ten. Kiedyś sam próbowałem to jakoś rozwiazać, ale ograniczyło się to do zastąpienia zdarzenia load timeoutem, ale jeśli obrazek nie zdążył się załadować (pierwsze x bajtów) po określonym przeze mnie czasie, to obrazek był przesunięty (jego górna krawędź znajdowała się na środku ekranu)...