[javascript]Bookmarklet met source op local disk

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • AutCha
  • Registratie: Juli 2008
  • Laatst online: 13-08 12:06
Om snel handelingen te kunnen doen in een webapplicatie ben ik aan het proberen een bookmarklet te maken die dat voor me kan. Dit wil ik (uiteindelijk) aan meerdere mensen binnen ons bedrijf ter beschikking stellen, dus ik doe het met 'normale middelen'.

Nu krijg ik het niet voor elkaar om een javascript functie aan te roepen die in een file op een locale disk staat. Weet iemand hiervoor de oplossing?

Deze code staat in de locale file:
JavaScript:
1
2
new function waarschuw() {alert('vanuit functie');}
alert('losstaand');


Ik probeer de volgende bookmarklets te gebruiken om deze functie aan te roepen, maar het is nog niet gelukt (Error on line 2, character 1, invalid character)

Firebug light manier
JavaScript:
1
javascript:var%20tweakMyApp=document.createElement('script');tweakMyApp.setAttribute('src','C:\\Temp\\tweakMyApp.js');document.body.appendChild(tweakMyApp);void(waarschuw);


Javascript Shell manier
JavaScript:
1
2
javascript:(function(){document.body.appendChild(document.createElement('script')).src='C%3A%5CTemp%5CtweakMyApp.js';})();
javascript:(function(){document.body.appendChild(document.createElement('script')).src='C:/Temp/tweakMyApp.js';})();

(ook verschillende varianten met dubbele slashes / backslashes / url codes getest)

MODIv2 manier
JavaScript:
1
javascript:prefFile='';void(z=document.body.appendChild(document.createElement('script')));void(z.language='javascript');void(z.type='text/javascript');void(z.src='c:\Temp\tweakMyApp.js');void(waarschuw);


Ik denk dat ik ergens overheen kijk, maar ik weet niet wat?!?

[ Voor 3% gewijzigd door AutCha op 29-12-2009 12:53 . Reden: tags ]


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

Ik denk dat hetgeen je overheenkijkt "security" is. Ik neem aan dat je begrijpt dat browsers nogal terughoudend zijn met het inlezen van bestanden op de locale schijf.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Manuel
  • Registratie: Maart 2008
  • Laatst online: 17-09 14:28
Zet even de [code=javascript] tags er om heen als je wilt, leest net wat makkelijker. Javascript is overigens niet bedoelt om op de client zijn computer te kijken neem ik aan?

Ik denk dat het makkelijker is dat je het ergens upload net als je met een normale doorsnede Javascript file doet.

Acties:
  • 0 Henk 'm!

  • AutCha
  • Registratie: Juli 2008
  • Laatst online: 13-08 12:06
Ik dacht dat je een waarschuwing over overschrijdende zones zou krijgen die je door kan drukken?
Normaal gesproken doe ik wel wat dingetjes met VBScript in HTA's en dan heeft de IE engine toch al iets van: je hebt nu zoveel veiligheidsbarrieres doorbroken, dat kan er nu ook wel bij.

Ik zal eens kijken of ik een servertje kan vinden die ik ervoor kan gebruiken en of het dan wel werkt.

Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 17-09 09:36
Sowieso mis je de protocol handler file:/// voor het pad.
JavaScript:
1
javascript:window.eval("document.body.appendChild(document.createElement('script').src='file:///C:/Temp/tweakMyApp.js')");


Als je gewoon dat C:\-pad in je adresbalk plakt zal IE het ook niet openen (maar windows explorer, ookal lijken ze veel op elkaar).

[ Voor 27% gewijzigd door frickY op 29-12-2009 13:03 ]


Acties:
  • 0 Henk 'm!

  • AutCha
  • Registratie: Juli 2008
  • Laatst online: 13-08 12:06
frickY schreef op dinsdag 29 december 2009 @ 13:01:
Sowieso mis je de protocol handler file:/// voor het pad.
JavaScript:
1
javascript:window.eval("document.body.appendChild(document.createElement('script').src='file:///C:/Temp/tweakMyApp.js')");


Als je gewoon dat C:\-pad in je adresbalk plakt zal IE het ook niet openen (maar windows explorer, ookal lijken ze veel op elkaar).
Ah, dank je voor de tip van de protocol handler. En verder is het inderdaad een security issue, want een source verwijzing naar een andere site werkt wel. Waarom bestaan er dan ook 'malicious people' :/. Ze verpesten m'n opzet!
Pagina: 1