Javascript in Widget - Link öffnen

Diskutiere mit über: Javascript in Widget - Link öffnen im Web-Programmierung Forum

  1. simusch

    simusch Thread Starter MacUser Mitglied

    Beiträge:
    2.221
    Zustimmungen:
    186
    Registriert seit:
    27.09.2004
    hallo zusammen!

    ich bin leider was javascript anbelangt ein CopyPaster... ein wenig anpassen schaffe ich :)

    mein Problem:

    ich bin dabei, ein Widget für Dashboard zu coden (das zweite bereits...)
    Im Widget wird eine bereitgestellte HTML-Seite angezeigt, was auch wunderbar funktioniert..

    jetzt sollte ich aber die LINKS umformen können, damit das Widget sie im Browser öffnet und nicht im Widget selbst...
    Was ich bis jetzt weiss, ist, dass der Link so aussehen sollte:

    Code:
    <a href="javascript:if (window.widget) {widget.openURL('http://www.link.com/blabla/bla.html');}">Linktext</a>
    doch mein Link sieht so aus:

    Code:
    <a href="http://www.link.com/blabla/bla.html">Linktext</a>
    kann mir jemand helfen?? :)

    -> forum oder icq 135526274 oder aim wwjt@mac.com

    DANKE
     
  2. dms

    dms Gast

    Also zuerst einmal: Was ist ein Widget? :) Habe diesen Begriff noch nie gehört. Ist das ein Popup-Fenster?

    Was genau soll jetzt passieren? Soll der erste Link automatisch zum zweiten Link umgeformt werden? Per JavaScript?

    Das kannst Du so ungefähr machen:

    Code:
    function linksUmformen() {
       for(i=0;i<document.getElementsByTagName('a').length;i++) {
          document.getElementsByTagName('a')[i].setAttribute('href',"javascript:if (window.widget) {widget.openURL('"+document.getElementsByTagName('a')[i].getAttribute('href')+"');}")
       }
    }
     
  3. simusch

    simusch Thread Starter MacUser Mitglied

    Beiträge:
    2.221
    Zustimmungen:
    186
    Registriert seit:
    27.09.2004
    ein Widget ist ein kleines Ding, das im Mac OSX Tiger im Dashboard läuft...

    danke für deinen Code, aber irgendwie schaff ich's nicht...

    ist wohl ein spezialfall, weil kein "document" vorhanden ist...


    hilft dir das?:

    Code:
    function updateWidget()
    {
    	if (window.widget) 
    	{
    	   var Content = document.getElementById('mainContent');
    
    	   var url = "http://www.adresse.com/datei.php";
    	
    	   var req = new XMLHttpRequest();
    	   req.open("GET", url, false);
    	   req.send(null);
            output = req.responseText;
    
            output = linksUmformen();
    
            document.getElementById('mainContent').innerHTML = output;
        }
    }
    
    function linksUmformen()
    {
       for(i=0;i<document.getElementsByTagName('a').length;i++)
       {
            document.getElementsByTagName('a')[i].setAttribute('href',"javascript:if (window.widget) {widget.openURL('"+document.getElementsByTagName('a')[i].getAttribute('href')+"');}")
       }
    }
    
    als erstes wird der angegebene Link angewählt und das, was zurückgegeben wird, eingelesen.

    als zwischenschritt, bevor der text in die datei geschrieben wird, sollten eben die links umgeformt werden...

    was mach ich falsch?
     
  4. simusch

    simusch Thread Starter MacUser Mitglied

    Beiträge:
    2.221
    Zustimmungen:
    186
    Registriert seit:
    27.09.2004
    weiss denn jemand sonst weiter?
     
  5. dms

    dms Gast

    Ah, verstehe. Sorry, ich besitze ja leider keinen Mac und kenne mich deswegen nicht so besonders aus. ;)

    Mein Code war für ein komplettes window-Objekt gedacht, in dem alle Links dann umgeformt worden wären.

    Wenn ich das jetzt richtig verstanden habe, dann ist in der Variable output ein einfacher String, der die ganzen Links enthält. Und in diesem String willst Du die hrefs ändern, ja?

    Das könnte so funktionieren:

    Code:
    while(output.match(/<a href="(http.*?)"/))
       output=output.replace(/<a href="http.*?"/,'<a href="javascript:if(window.widget){widget.openURL(\''+RegExp.$1+'\');}"');
    
    Leerzeichen entfernen nicht vergessen. (zwischen open und URL)
    Füge das mal an der Stelle ein wo Du
    Code:
    output = linksUmformen();
    stehen hast.
     
  6. simusch

    simusch Thread Starter MacUser Mitglied

    Beiträge:
    2.221
    Zustimmungen:
    186
    Registriert seit:
    27.09.2004
    besten Dank!

    ich hab's doch noch mit der ersten Variante geschafft...

    Es scheint jetzt alles zu funktionieren :)
     
  7. Jakob

    Jakob MacUser Mitglied

    Beiträge:
    1.067
    Zustimmungen:
    21
    Registriert seit:
    05.01.2004
    Was machsten fürn Widget?
     
  8. max@hismac

    max@hismac MacUser Mitglied

    Beiträge:
    1.389
    Zustimmungen:
    47
    Registriert seit:
    05.03.2004
    Jakob, hast du nicht letztens noch eine WG in Koeln gesucht?
     
  9. simusch

    simusch Thread Starter MacUser Mitglied

    Beiträge:
    2.221
    Zustimmungen:
    186
    Registriert seit:
    27.09.2004
    ein Widget, das Programm, News und Downloads anzeigt, nämlich unserer Kirche...

    Es nimmt Formen an... :)
     
  10. Jakob

    Jakob MacUser Mitglied

    Beiträge:
    1.067
    Zustimmungen:
    21
    Registriert seit:
    05.01.2004
    @mac: Ja :D

    @simusch: Na dann hast Du ja besten Beistand. Viel Spaß noch!
     
Die Seite wird geladen...
Ähnliche Themen - Javascript Widget Link Forum Datum
Javascript: key listener unter iOS Web-Programmierung 27.05.2016
JavaScript coding game - Tester gesucht Web-Programmierung 21.10.2013
Interaktivsein mit Javascript (Eingaben???) Web-Programmierung 04.04.2013
fieldset klonen mit JavaScript / jQuery Web-Programmierung 21.02.2013
Javascript Text verschwinden lassen (display:none) Web-Programmierung 31.12.2012

Diese Seite empfehlen

Benutzerdefinierte Suche