jQuery hide / access Element im oberen / Hauptfenster von iframe

8

Ich verwende ein CRM-System, in dem ich den HTML-Code, den das System generiert, nicht kontrollieren kann. Dies ist die einfachste Form des HTML-Markups, mit dem ich mich beschäftige.

%Vor%

Ich möchte cmdedit <button> nach dem Laden der Seite verstecken. Ich kann nur den Inhalt von <textarea> ändern, der dann als HTML-Inhalt des folgenden <iframe> beim Laden der Seite in das DOM eingefügt wird. Ich kann <script> -Tag einschließen und Javascript oder JQuery-Anweisungen schreiben, die in diesen <iframe> gelangen, und die JavaScript-Warnhinweise funktionieren einwandfrei. Ich habe versucht, die <button> mit dem folgenden Code zu verstecken, aber keiner funktioniert nach dem Laden der Seite.

Skript in iframe:

%Vor%

System generiertes vollständiges HTML :

%Vor%
    
Karim Ali 07.02.2018, 18:44
quelle

3 Antworten

6

Sie versuchen, das Element mit der ID cmdedit vor JavaScript-Code zu verbergen, der in einem <iframe> ausgeführt wird. Aber das Element ist nicht innerhalb des <iframe> , so dass jQuery es nicht finden kann.

Sie müssen jQuery mitteilen, wo nach dem Element gesucht werden soll. Sie können dies tun, indem Sie einen zweiten Parameter an jQuery selector übergeben. Von jQuery Api Dokumentationsseite :

  

jQuery (selector [, Kontext])

     

Selektor
  Geben Sie Folgendes ein: Selektor
Eine Zeichenfolge mit einem Selektorausdruck

     

Kontext
  Geben Sie Folgendes ein: Element oder jQuery
Ein DOM-Element, Dokument oder jQuery zur Verwendung als Kontext
   -

Sie müssen also nur das Dokumentobjekt des oberen Fensters übergeben, um das Element zum Ausblenden auszuwählen.

%Vor%
  

Oder Sie können die jQuery des Hauptfensters

verwenden
%Vor%
  

Oder Sie können plain Javascript

verwenden
%Vor%     
Munim Munna 12.02.2018, 23:33
quelle
0

probiere das

aus %Vor%

Die fixierte Position muss mit der ausgeblendeten Sichtbarkeit kombiniert werden, damit kein Platz aus dem Dokument beansprucht wird.

Obwohl es nicht die beste Vorgehensweise ist, ist eine zweite Möglichkeit, um zu dem Ergebnis zu kommen.

    
Isidoro Barrera 07.02.2018 19:05
quelle
0

Versuchen Sie es mit:

%Vor%

Hoffe diese Hilfe.

    
Khoi Ngo Nguyen 13.02.2018 02:03
quelle