Anzeigen einer bestimmten Seite von PDF in iframe in Asp.net

8

Ich habe eine ASP.NET C # -Anwendung. Ich zeige eine PDF-Datei auf einer bestimmten Seite in einem iframe an. Ich muss eine bestimmte PDF-Seite basierend auf einem Textfeldwert anzeigen. Wie kann ich das erreichen?

Der iframe-Code sieht so aus:

%Vor%

und folgend sind die Details des Textfelds

%Vor%

Details der JavaScript-Funktion

%Vor%

Aber das funktioniert nicht. Es gibt einen Fehler bei "childiFrame.contentWindow.location.href" als Der Rahmen, der den Zugriff anfordert, hat ein Protokoll von "http", der Rahmen, auf den zugegriffen wird, hat ein Protokoll von "https". Protokolle müssen übereinstimmen.

Wie kann ich den Fehler beheben? Und ich übergebe Seite Nr. Als Parameter in der URL. Wie kann ich die neue Seite anzeigen, ohne den gesamten Inhalt zu aktualisieren?

    
Athul 16.04.2016, 11:55
quelle

2 Antworten

3

Wie hier angegeben: Der den Zugriff anfordernde Rahmen hat ein Protokoll von "https", der Rahmen, auf den zugegriffen wird, hat ein Protokoll von "http". Protokolle müssen übereinstimmen und hier: Fehler beim Zugriff auf einen iframe In JavaScript kann der Iframe Inhalte von anderer Seite anzeigen, aber Sie können sie nicht ändern, da dies ein Sicherheitsrisiko darstellen würde. Wenn Sie den Inhalt des Iframes ändern möchten, muss die Quelle aus derselben Domäne stammen (weitere Informationen finden Sie in CORS).

Eine andere Möglichkeit besteht darin, die übergreifende Ressourcenfreigabe für andere Domänen zuzulassen. Um dies zu tun, müssen Sie einen speziellen Header angeben:

%Vor%

Weitere Informationen zu diesem Thema: Ссылка , Ссылка .

    
Lesmian 19.04.2016 09:47
quelle
2

Bei beiden unten gezeigten Methoden wird ein lokales PDF in einem IFrame an der ausgewählten Seitennummer geöffnet, wenn der Fokus die TextBox verlässt.

Methode 1

Bei dieser Methode wird die iframe-Quell-URL in zwei Schritten festgelegt. Der erste Schritt setzt die Quelle zurück, der zweite setzt sie auf die tatsächliche URL. Dieser zweite Schritt muss asynchron ausgeführt werden, um zu funktionieren (hier mit Hilfe von setTimeout ).

Das Markup für den iframe und das TextBox:

%Vor%

Die Javascript Funktion:

%Vor%

Methode 2

Bei dieser Methode wird der Iframe jedes Mal durch einen neuen ersetzt, wenn eine neue Seite der PDF angezeigt werden soll. Um das Bildschirmflackern zu reduzieren: (1) wird der neue iframe unter den alten eingefügt, und (2) der alte iframe wird nur entfernt, wenn der neue iframe vollständig geladen ist.

Das Markup:

%Vor%

Der Javascript-Code:

%Vor%     
ConnorsFan 22.04.2016 01:36
quelle