Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 15 ] 
Autor Zpráva
 Předmět příspěvku: View selection source
PříspěvekNapsal: 16.2.2006, 3:39 
Offline
Aktivní

Registrován: 12.8.2005, 14:25
Příspěvky: 100
Bydliště: Praha
Citace:
Ale view selection source mi fakt chybi....


Mě se tahle vychytávka taky celkem líbí a už delší dobu se chystám jí napsat pro Operu. Stalo se :)

Tady je potřebný JS:
http://www.webkitchen.cz/lab/opera/get- ... -source.js

Ten je potřeba si uložit do adresáře pro userJS (tohle se nastavuje v preferencích). Potom upravit soubor s definicí menu pro Operu. K části [Hotclick Popup Menu] se přidá položka:

Kód:
Item, "View selection source"="Go to page, "javascript:opera.getSelectionSource()""


U mě celá ta sekce vypadá takhle:

Kód:
[Hotclick Popup Menu]
Item, 50872=Copy
Item, 67652=Copy to note
Feature Voice, Item, 70494=Speak selection
Platform Mac, Item, 70494=Speak selection
--------------------1
Item, 65184=Hotclick search, 200
;Submenu, 291920, Search with menu
Submenu, 291920, Internal Search With
Item, 65187=Hotclick search, 50
Item, 65188=Hotclick search, 51
--------------------2
Submenu, 291960, Translate menu
;Item, 65186=Hotclick search, 52
--------------------3
Item, 67394=Go to page, "%t"
Item, 65218=Send text in mail.
--------------------4
Item, "View selection source"="Go to page, "javascript:opera.getSelectionSource()""



Funguje to takhle:
    - pokud je vybrán text spadající pouze do jednoho elementu, tak se prostě zobrazí jeho HTML
    - pokud selekce spadá do více elementů, tak se najde nejbližší společný rodič prvku, do kterého spadá začátek selekce a prvku, kam spadá konec selekce a jeho HTML se zobrazí

Mouchy:
    - nefunguje to na https stránkach, protože tam není userJS k dispozici. Tohle jde obejít tím, že se ten JS přesune přímo do souboru menu na jeden řádek (klasický favelet), ale takhle je děsně nepřehledné, proto to já mám takhle
    - nefunguje to ve framech, což brzo upravím tak, aby fungovalo
    - názvy tagů jsou vždy malými písmeny
    - moc jsem to netestoval :-)

Takhle to vypadá:


Ohlásit tento příspěvek
Nahoru
 Profil  
Odpovědět s citací  
 Předmět příspěvku:
PříspěvekNapsal: 16.2.2006, 10:17 
Offline
Moderátor

Registrován: 15.11.2004, 12:18
Příspěvky: 304
No, mě to teda nefunguje.

Změnil jsem hned první řádek z
Kód:
window.opera.getSelectionSource: function() {

na
Kód:
window.opera.getSelectionSource = function() {


A už je to OK.

Do toho zdrojáku bych ještě dal číslo verze a odkaz na nějakou stránku, třeba sem.

Jinak vážně super věc.


Ohlásit tento příspěvek
Nahoru
 Profil  
Odpovědět s citací  
 Předmět příspěvku:
PříspěvekNapsal: 16.2.2006, 14:40 
Offline
Aktivní

Registrován: 12.8.2005, 14:25
Příspěvky: 100
Bydliště: Praha
Citace:
No, mě to teda nefunguje.


Díky za info, já to mám jako metodu jednoho objetku a zapomněl jsem to upravit.

Citace:
Do toho zdrojáku bych ještě dal číslo verze a odkaz na nějakou stránku, třeba sem.


Přidal jsem tam standardní userJs hlavičku.


Ohlásit tento příspěvek
Nahoru
 Profil  
Odpovědět s citací  
 Předmět příspěvku:
PříspěvekNapsal: 18.2.2006, 0:18 
Offline
Aktivní

Registrován: 12.8.2005, 14:25
Příspěvky: 100
Bydliště: Praha
Tak teď už to funguje i ve framech. Opravil jsem chybu, kdy komentáře na víc řádků byly odstraněny. Jsou tam tři barevná schémata a nějaká další nastavení. Taky jsem zjistil, že Opera potřebný JS funkce umí až od verze 9TP1. Zůstávají tam 2 problémy, se kterými už asi nic neudělám:

- názvy značek jsou vždycky zobrazeny malým písmem
- entity jsou parsovány - zobrazí se znak, který představují, ne jejich zdroj

0.2


Ohlásit tento příspěvek
Nahoru
 Profil  
Odpovědět s citací  
 Předmět příspěvku:
PříspěvekNapsal: 18.2.2006, 1:07 
Offline
Moderátor
Uživatelský avatar

Registrován: 3.6.2005, 8:33
Příspěvky: 1314
Bydliště: Němčice [PA]
Oswald píše:
- názvy značek jsou vždycky zobrazeny malým písmem

To ale přece není problém, xhtml má malé tagy přímo v normě :-)

_________________
Helenka tvítuje ;-)
Nepoužívám Windows, no a co?


Ohlásit tento příspěvek
Nahoru
 Profil  
Odpovědět s citací  
 Předmět příspěvku:
PříspěvekNapsal: 18.2.2006, 3:01 
Anonymní
Možná jde o nějakou hloupost, které jsem si nevšiml, ale mě to nechodí. Ostatni UserJS funguji normalně, ale tenhle ne a ne. Výpis z konzole
Kód:
javascript:opera.getSelectionSource()
Javascript URL thread: "javascript:opera.getSelectionSource()"
Error:
name: TypeError
message: Statement on line 241: Type mismatch (usually a non-object value used where an object is required)
Backtrace:
  Line 241 of User JS script
    var i, sel = window.getSelection();
  Line 118 of User JS script
    conf = {wWidth : 780, wHeight : 170, wTop : 100, wLeft : 50, dataUri : false, parse : true, scheme : schemes.mozilla};
sel = findSelection();
  Line 1 of unknown script
    opera.getSelectionSource();

Vám to zdá se chodí, že? Tak proč ne mě?
Opera 8.52 WinXP
Dik za připadne rady. Filip


Ohlásit tento příspěvek
Nahoru
  
Odpovědět s citací  
 Předmět příspěvku:
PříspěvekNapsal: 18.2.2006, 16:31 
Offline
Aktivní

Registrován: 12.8.2005, 14:25
Příspěvky: 100
Bydliště: Praha
Citace:
To ale přece není problém, xhtml má malé tagy přímo v normě


To sice ano, ale spousta webů píše podle HTML, kde je to jedno.

Citace:
Vám to zdá se chodí, že? Tak proč ne mě?
Opera 8.52 WinXP


Protože Opera umí window.getSelection() až od verze 9TP1, jak píšu o dva příspěvky výše :-).


Ohlásit tento příspěvek
Nahoru
 Profil  
Odpovědět s citací  
 Předmět příspěvku:
PříspěvekNapsal: 18.2.2006, 22:40 
Anonymní
No jo ... jsem slepej. Omlouvám se a díky.
Filip


Ohlásit tento příspěvek
Nahoru
  
Odpovědět s citací  
 Předmět příspěvku:
PříspěvekNapsal: 18.9.2006, 1:31 
Anonymní
"Potom upravit soubor s definicí menu pro Operu." To je prosim jaky soubor? Jakozto lama netusim, kde ho hledat :)


Ohlásit tento příspěvek
Nahoru
  
Odpovědět s citací  
 Předmět příspěvku: Soubor menu
PříspěvekNapsal: 26.10.2006, 13:42 
Anonymní
do adresy si napiste opera:about, zjistite tam adresar s nastavenimi (ve Win XP typicky documents and settings, atd.... tam je slozka menu a v ni ten ini soubor, ktery upravite....


Ohlásit tento příspěvek
Nahoru
  
Odpovědět s citací  
 Předmět příspěvku: Bookmarklet verze
PříspěvekNapsal: 4.11.2006, 1:06 
Offline
Aktivní

Registrován: 12.8.2005, 14:25
Příspěvky: 100
Bydliště: Praha
Udělal jsem bookmarklet (favelet, chcete-li) verzi toho scriptu (btw: funguje to i ve Firefoxu :).

* http://www.webkitchen.cz/lab/opera/get- ... let.js.txt

Pro integraci vložením kódu bookmarkletu přímo do definice menu můžete použít tuto připravenou "item":

* http://www.webkitchen.cz/lab/opera/get- ... tem.js.txt


Ohlásit tento příspěvek
Nahoru
 Profil  
Odpovědět s citací  
 Předmět příspěvku: Re: Bookmarklet verze
PříspěvekNapsal: 4.11.2006, 12:49 
Offline
Superaktivní

Registrován: 24.6.2006, 10:14
Příspěvky: 365
Bydliště: Praha
Oswald píše:
Pro integraci vložením kódu bookmarkletu přímo do definice menu můžete použít tuto připravenou "item":

* http://www.webkitchen.cz/lab/opera/get- ... tem.js.txt


Super! Díky moc! :)

_________________
„Kde blb, tam nebezpečno.“ Jan Werich


Ohlásit tento příspěvek
Nahoru
 Profil  
Odpovědět s citací  
 Předmět příspěvku:
PříspěvekNapsal: 4.11.2006, 21:24 
Offline
Aktivní

Registrován: 12.8.2005, 14:25
Příspěvky: 100
Bydliště: Praha
Zampomněl jsem dodat, že tohle je nová verze 0.6 (původní odkaz na řešení pomocí UserJS je také aktuální), v okně se teď vybírá stejný text, jako v původní stránce.

Klávesou ENTER zapnete/vypnete zalamování dlouhých řádků (pomocí opera-only CSS vlastnosti pro white-space - pre-wrap). Tohle jde v UserJS verzi nastavit.


Ohlásit tento příspěvek
Nahoru
 Profil  
Odpovědět s citací  
 Předmět příspěvku: Re: View selection source
PříspěvekNapsal: 18.12.2006, 14:11 
Anonymní
Oswald píše:
nefunguje to na https stránkach, protože tam není userJS k dispozici. Tohle jde obejít tím, že se ten JS přesune přímo do souboru menu na jeden řádek (klasický favelet), ale takhle je děsně nepřehledné, proto to já mám takhle

opera:config#UserPrefs|User JavaScript on HTTPS
(Opera 9, predošlé verzie neviem)


Ohlásit tento příspěvek
Nahoru
  
Odpovědět s citací  
 Předmět příspěvku: Re: View selection source
PříspěvekNapsal: 10.3.2009, 21:07 
Online
Moderátor
Uživatelský avatar

Registrován: 7.8.2004, 18:48
Příspěvky: 5398
Oswaldova stránka s tímhle ujs: „Zobrazit zdrojový kód výběru“ pro Operu
Na jeho blogu je i pár dalších zajímavostí.

_________________
Malým dětem a blbcům počítače do rukou nepatří. ®


Ohlásit tento příspěvek
Nahoru
 Profil  
Odpovědět s citací  
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 15 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Google [Bot] a 0 návštevníků


Můžete zakládat nová témata v tomto fóru
Můžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru

Hledat:
Přejít na:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Český překlad – phpBB.cz