.
Anmeldung | Registrieren | Hilfe
in Suchen

Javascript innerhalb eines IE8-Webslice‽

Letzter Beitrag 10. Jul 2009 12:45 von klaus_b. 3 Antworten.
Seite 1 von 1 (4 Treffer)
Beiträge sortieren: Zurück Weiter
  • 10. Jul 2009 0:20

    • Gordon Breuer
    • Top 10 Mitwirkender
      Männlich
    • Registriert am 04. Jun 2008
    • Frankfurt a.M.
    • Beiträge 345
    • Punkte 5.730
    • Moderator

    Javascript innerhalb eines IE8-Webslice‽

    Gar nicht so einfach für so eine Frage das passende Unterforum zu finden.

    Mein Problem betrifft wie der Titel vermuten lässt Javascript, dass in einem Webslice verwendet wird.
    Die eigentliche HTML-Seite funktioniert beim direkten Aufruf problemlos und auch das verwendete Javascript / jQuery macht keinen Ärger. Wenn ich allerdings die Seite als Webslice anzeige dann funktioniert auf einmal das Javascript nicht mehr.

    Meine erste Vermutung war, dass es am ausgelagerten Script lag, also kopierte ich die beiden referenzierten js-Dateien direkt in die htm-Datei hinein. Am Ergebnis änderte sich leider nichts: Beim Direktaufruf ging es weiterhin, beim Aufruf als Webslice verweigert Javascript jedoch den Dienst.

    Hat jemand noch eine Idee woran es liegen könnte bzw. wie man das umgehen kann?
    Das Javascript soll einzelne Unicode-Zeichen beim Anklicken in die Zwischenablage kopieren - doch im Webslice funktioniert nicht einmal die Behelfslösung das Zeichen mit einem Doppelklick zu markieren und mit strg + c manuell in die Zwischenablage zu befördern - im Webslice funktionieren weder Shortcuts noch das Kontextmenü.

    Danke und Gruß,
    Gordon

    PS: Wer das ganze selber einmal testen möchte, die Seite findet sich hier bzw. ist als Webslice unter http://gordon-breuer.de (UniChars) eingebunden.

    • IP-Adresse ist Registriert
  • 10. Jul 2009 8:22 Antwort zu

    • klaus_b
    • Top 10 Mitwirkender
      Männlich
    • Registriert am 28. Jan 2008
    • Waldkraiburg
    • Beiträge 783
    • Punkte 12.530
    • Moderator

    Javascript innerhalb eines IE8-Webslice‽

    Hallo Gordon,

    Gordon Breuer:
    Hat jemand noch eine Idee woran es liegen könnte bzw. wie man das umgehen kann?
    Garnicht Smile
    Dieses Verhalten ist per Design so vorgesehen.

    Ein Webslice gehört zu den Mikroformaten, oder im original Microformats, und stellt so eine einfache Beschreibung eines bestimmten Objekts dar. Die Basis dieser Beschreibung ist nun mal XML, oder im Fall des hSlice Formats XHTML. Die Definition des hSlice Formats hat seinen Ursprung im hAtom Format.
    Microsoft stellt dir in der Formatbeschreibung des Webslice nur die 6 folgenden Schlüsselwörter zur Beschreibung zur Verfügung:

    1. hSlice: Stellt den Div-Container dar, der den anzuzeigenden Webslice beinhaltet.
    2. entry-title: Eine CSS-Klasse mit der der Titel des Webslice dargestellt wird.
    3. entry-content: Eine weitere CSS-Klasse mit der du den Inhalt optisch "aufpeppen" kannst.
    4. feedurl: Eine Adresse, mit der du den Inhalt aus anderen Ressource darstellen kannst. Hier sind RSS und HTML, XHTML Inhalte erlaubt.
    5. endtime: Eine Datumsangabe im UTC-Format, ab der der Webslice seine Gültigkeit verliert und nicht mehr dargestellt wird.
    6. ttl: Eine Zeitspanne in der die zugrundeliegende Seite auf Änderungen überprüft wird. Kann nicht unter 15 Minuten liegen. 15 Minuten ist auch der Standardwert, der ohne die Angabe der ttl vom IE8 verwendet wird.

    Du kannst die Web Slice Format Specification auch selber in der MSDN nachlesen.

    Für mein Empfinden vollkommen ausreichend. Man muss nicht jedes Element, nur weil Web 2.0 so ein schönes Buzzword ist, mit Javascript "zupflastern" Smile Der Gedanke hinter dem Webslice ist eine weiter RSS-Fedd-ähnliche Lösung, deren Darstellung mittels CSS gestyled werden kann. Eine vollwertige Seite in einem Flyout dargestellt, ist dabei in der Beschreibung der Definition nicht vorgesehen.

    Vieleicht währe ja bedingtes CSS ein Ansatz, in dem du die darzustellenden Zeichen in einen span-Tag verpackst, welchen du via CSS formatierst. Ich kann mir deinen Webslice hier im Büro nicht ansehen, da ich keinen IE8 habe.

    Servus,
    Klaus

    klaus_b@.NET
    Alles was an .NET und C# Spass macht, ... oder manchmal auch nicht.
    • IP-Adresse ist Registriert
  • 10. Jul 2009 11:22 Antwort zu

    • Gordon Breuer
    • Top 10 Mitwirkender
      Männlich
    • Registriert am 04. Jun 2008
    • Frankfurt a.M.
    • Beiträge 345
    • Punkte 5.730
    • Moderator

    Javascript innerhalb eines IE8-Webslice‽

    Hi Klaus,

    die Seite selbst kannst du dir auch so ansehen unter http://gordon-breuer.de/UniChars - da wirst du auch sehen wozu ich das JS bräuchte ;-)

    Habe eine ähnliche Beschreibung hier gelesen: http://blog.nickbelhomme.com/web/webslice-for-ie8-tutorial_84
    Da steht auch:


      * You cannot use javascript
      * You cannot use external style sheets. Only inline styles are supported.
      * All the hslice classes that are mandatory should also be on that page.

    Direkt danach steht dann aber:

    But wait? Does this mean I cannot use JS or CSS? Of course not, you can! However this requires an additional page.
    However you should NOT use the rss feed structure from the Update page standalone. Just write the update page in plain old HTML!
    Instead of writing a container tag with the entry-content class to represent the content we will tell the webslice to fetch the display page from another url which can contain all the stuff you want. [...]

    The display page
    Just a plain old html webslice. Here you can include js files, css files and stuff.
    Like I said before this display page is not necessary if you do not want to use external style sheets or javascript. If not you can use the update page as a standalone. If you do want to use css and js, the combination is the solution.

    Ich habe bei mir den Webslice durchaus mit einer solchen "Display Page" erstellt, in der also js & co. durchaus funktionieren sollten - aber irgendwie mag er nicht... Sad

    Das ich die Webslices mit meiner Anwendung ein klein wenig "missbrauche" ist klar, aber besser als die meistens im IE nicht funktionierenden JS-Bookmarklets wäre es allemal. Wenn man wenigstens mit strg + c das aktuell markierte Zeichen "per Hand" kopieren könnte *hmpf*

    • IP-Adresse ist Registriert
  • 10. Jul 2009 12:45 Antwort zu

    • klaus_b
    • Top 10 Mitwirkender
      Männlich
    • Registriert am 28. Jan 2008
    • Waldkraiburg
    • Beiträge 783
    • Punkte 12.530
    • Moderator

    Javascript innerhalb eines IE8-Webslice‽

    Hallo Gordon,

    Gordon Breuer:
    Instead of writing a container tag with the entry-content class to represent the content we will tell the webslice to fetch the display page from another url which can contain all the stuff you want
    Genau das mache ich mit dem Webslice auf meinem Blog auch. Ich lasse den Inhalt in einer aspx-Seite erzeugen und style diese mit CSS. Dann einen Anchor mit dem rel entry-content auf diese Seite, icnl. Div wenn nötig, verweisen:

    </a rel="entry-content" href="/themes/klaus_b/BlogSlice.aspx#actualPosts" style="display: none">

    Dann benötigst du aber noch einen Anchor mit dem rel bookmark und dem target _blank, damit bei einem Klick auf den Webslice nicht im Webslice sondern in einer neuen Seite geöffnet wird.

    <a rel="bookmark" href="/" target="_blank" style="display: none"></
    a>

    Die gesamte Slice-Definition sieht dann so aus:

     
    
    
    <div class="hslice" id="actualPosts" style="display: none">
       <div class="panel">
          <h2 class="entry-title">klaus_b@.NET (Aktuelle Artikel)</h2>
             </a rel="entry-content" href="/themes/klaus_b/BlogSlice.aspx#actualPosts" style="display: none">
             </a rel="bookmark" href="/" target="_blank" style="display: none">
       </div>
    </div>

    Nur ab da JS mit rüber kommt, weiß ich nicht.

    Servus,
    Klaus

    klaus_b@.NET
    Alles was an .NET und C# Spass macht, ... oder manchmal auch nicht.
    • IP-Adresse ist Registriert
Seite 1 von 1 (4 Treffer)

Regeln | Impressum