Speicherort der Razor-CSS-Datei als Variable

8

Ich verpacke eine Rasierklingenansicht in einen iFrame. Die Rasiereransicht ist ein Webdienst auf einer anderen Domäne.

Hier ist was ich mache:

%Vor%

Dies ist die Kopfzeile der src-Site:

%Vor%

Ich möchte, dass iframe src das CSS der aufrufenden Site verwendet.

Gibt es eine Möglichkeit, die CSS-URL zu übergeben oder die CSS der aufrufenden Site zu erben?

Ich würde mich sogar damit begnügen, dass der Speicherort der CSS-Datei ein Parameter ist, der von der ursprünglichen Site übergeben wird.

Hat jemand irgendwelche Vorschläge?

    
ErocM 03.08.2012, 16:47
quelle

4 Antworten

5

Ich würde die CSS-URL als Argument an das iframe -Attribut von src übergeben:

%Vor%

Dabei könnte ResolveStyleUrl wie folgt definiert sein:

%Vor%

Dies setzt natürlich voraus, dass die Domain eine Style-URL-Abfragezeichenfolge akzeptiert und die entsprechende <link /> auf der Remote-Seite rendert?

    
Matthew Abbott 07.08.2012, 10:37
quelle
6

Sie können Ihre CSS auf Ihrer Site nicht mithilfe eines iFrame erzwingen. Das CSS muss in der Quelle der in einem IFrame enthaltenen Seite enthalten sein. Früher war es möglich, in bestimmten Fällen Javascript zu verwenden und die Seite sollte sich auf derselben Domain befinden.

Die einzige andere Möglichkeit, Ihre eigene CSS zu verwenden, ist, wenn Sie mit dem Webservice die URL der CSS übergeben können. Aber Sie müssen die Dokumentation des Webdienstes konsultieren, um das herauszufinden.

    
James Williams 07.08.2012 01:38
quelle
5

Eroc, es tut mir leid, dass Sie Ihr CSS auf der Website von anderen nicht mit einem iframe erzwingen können, weil die meisten Browser einen Fehler wie den geben, den chrome gibt:

Unsicheres JavaScript versucht, auf den Frame mit der URL Ссылка zuzugreifen. aus dem Frame mit der URL Ссылка . Domains, Protokolle und Ports müssen übereinstimmen.

Das bedeutet jedoch nicht, dass Sie den HTML-Code nicht von dieser Seite extrahieren können ( die nach Ihren Wünschen geändert werden kann )

Ссылка kann für das Verschrotten von Websites mit Ссылка

Spielen Sie zuerst mit diesen Funktionen:

%Vor%

und dann parse das HTML.

Nachdem du es selbst versucht hast, kannst du dir dieses Beispiel unten ansehen, das ich zum Parsen von beemp3-Inhalten gemacht habe, als ich ein reichhaltiges Tool zum direkten Herunterladen von Songs erstellen wollte, leider konnte ich das wegen des Captchas aber nicht nützlich für Sie

Verzeichnisstruktur

  

C: \ wamp \ www \ versuchen

     

- simple_html_dom.php

     

- try.php

     

try.php:

%Vor%

Ich weiß, dass Sie nicht in PHP programmieren, aber ich denke, dass Sie in der Lage sind, den Code zu übersetzen. Schau dir das an: PHP zu C # -Konverter

Ich habe Zeit mit dieser Frage verbracht, weil nur ich verstehen kann, was es bedeutet, Kopfgeld anzubieten. Vielleicht scheint die Antwort unabhängig zu sein (weil ich Javascript oder html-basierte Lösung nicht verwendet habe), aber wegen der domänenübergreifenden Probleme ist dies eine wichtige Lektion für Sie. Ich hoffe, dass Sie ähnliche Bibliotheken in c # finden. Viel Glück

    
GLES 07.08.2012 15:10
quelle
2

Das einzige, was ich weiß, um das zu erreichen, ist, die HTTP-Anfrage auf Ihrer Serverseite zu machen, das Ergebnis zu holen und es dem Benutzer zurückzugeben.

Ein Minimum, Sie müssen entweder den Header vollständig von der Zielseite entfernen, um den Inhalt auf Ihrer Seite mit AJAX zu injizieren, oder um Ihre eigenen CSS in die Seitenköpfe zu injizieren, um sie in ein IFRAME einzufügen.

>

In beiden Fällen müssen Sie die Proxy-Methode implementieren, die die Ziel-URL als Argument verwendet.

Diese Technik hat viele Nachteile:

  1. Sie müssen die Abfragen auf Ihrem Server durchführen, was eine Menge Bandbreite und CPU kostet
  2. Sie müssen den Proxy implementieren
  3. Sie können die domänenspezifischen Cookies nicht vom Benutzer übertragen, obwohl Sie neue Cookies verwalten können, indem Sie sie neu schreiben
  4. Wenn Sie viele Anfragen stellen, werden Ihre Server wahrscheinlich auf der / den Zielwebsite (s)
  5. auf die schwarze Liste gesetzt

Die Vorteile klingen niedrig im Vergleich zu den Ärger.

    
Julien Ch. 07.08.2012 17:06
quelle

Tags und Links