iFrame mit Link auf den eigentlichen Inhalt?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Soll man in dem Frame navigieren können, sprich scrollen oder soll einfach nur die Seite angezeigt werden?

Falls letzteres, kannst du einen Div-Container über den iFrame legen und wenn der User dann darauf klickt, öffnest du einfach die Seite im neuen Tab.

Wie du das mit dem neuen Tab machst, findest du hier: https://stackoverflow.com/questions/15551779/open-link-in-new-tab-or-window

MaxiTV8000 
Fragesteller
 01.03.2019, 10:04

Hi Xearox, genau die Seite soll lediglich den Inhalt anzeigen aber man soll darin nicht agieren können. Sobald ich auf den Inhalt klicke sollte sich die Komplette Seite in einem neuen Tab öffnen.

0
Xearox  01.03.2019, 10:06
@MaxiTV8000

Dann leg einfach einen Div-Container drüber. Wenn man dann nun auf den Container klickt, dieser ist ja vor dem Frame, dann öffnet sich die Seite im neuen Tab.

Machste mit z-index und absoluter position im CSS.

0
MaxiTV8000 
Fragesteller
 01.03.2019, 10:15
@Xearox

Das Problem ist ich möchte das gerne als Widget in IBM Connections einbinden. Und da geht nur HTML.

0
MaxiTV8000 
Fragesteller
 01.03.2019, 10:16
@MaxiTV8000

Nehmen wir mal an das wäre das iFrame:

<iframe title="Testiframe" src="https:\\test123.com" style="border: 0px currentColor; border-image: none; width: 100%; height: 750px;" hastooltip="dijit_Tooltip_1053" sandbox="allow-same-origin allow-top-navigation allow-scripts allow-popups allow-forms"></iframe>

0
Xearox  01.03.2019, 14:04
@MaxiTV8000

Naja gut, aber du benutzt doch CSS ... das was hinter style="" steht, ist CSS Code ;-)

0
MaxiTV8000 
Fragesteller
 01.03.2019, 14:05
@Xearox

Das heißt also ich mach einen Div Container und verweise auf den iFrame? :-)

0
Xearox  01.03.2019, 14:25
@MaxiTV8000

Versuch mal folgendes:

<div onclick="(function(){
    var win = window.open('https:\\test123.com', '_blank');
    win.focus();
})();">
  <iframe title="Testiframe" src="https:\\test123.com" style="border: 0px   currentColor; border-image: none; width: 100%; height: 750px; position: relative;"   hastooltip="dijit_Tooltip_1053" sandbox="allow-same-origin allow-top-navigation   allow-scripts allow-popups allow-forms"></iframe>
</div>

Wichtig ist, das der iFrame noch Position relative bekommt, sonst funktioniert der z Index nicht. Der Div braucht kein z-index.

1
MaxiTV8000 
Fragesteller
 01.03.2019, 14:32
@Xearox

Hi generell scheint es zu funktonieren bis der iFrame sich mit dem Inhalt füllt, dann klappt es wieder nicht. Dann kann ich nicht reinklicken und werde nicht auf die andere Seite verwiesen. :-(

0
Xearox  01.03.2019, 14:34
@MaxiTV8000

Hast du auch die überarbeitete Version gesehen? Habe den anderen Kommentar löschen lassen.

1
MaxiTV8000 
Fragesteller
 01.03.2019, 14:41
@Xearox

Ja habe den Code so eingetragen doch leider funktioniert es nur bis der Inhalt des iFrames sich lädt. Danach nicht mehr.

0
Xearox  01.03.2019, 14:45
@MaxiTV8000

Hmm ... bei mir funktioniert es einwandfrei.

Ich habe hier mal eine Testseite gemacht. Da Google und Gutefrage.net nicht funktionieren, hab ich als Testseite meine Seite eingefügt:

https://1drv.ms/u/s!AoH0G9wLuqHdh4UZBh9_c2jxtErCdQ

Einfach runterladen und doppelklick drauf machen.

Wirst sehen, wenn die Seite geladen ist, kannst du trotzdem drauf klicken.

0
MaxiTV8000 
Fragesteller
 01.03.2019, 14:53
@Xearox

Mmm eigenartig :-( Mist das dass nicht klappt. Danke dir dennoch :-)

0
Xearox  01.03.2019, 14:57
@MaxiTV8000

Der Code ist genau gleich, bis auf diese zusätzlichen Sachen von dir?

0
MaxiTV8000 
Fragesteller
 01.03.2019, 15:03
@Xearox

Wäre es möglich eine durchsichtige Grafik darüberzustülpen die auf den Link verweist, sodass man an die Steuerelemente des iFrames garnicht drankommt?

0
Xearox  01.03.2019, 15:04
@MaxiTV8000

Naja, was hast du denn vor, vielleicht kannst du mir auch mal dein Vorhaben per Privater Nachricht schicken, falls du das hier nicht öffentlich preisgeben willst.

0

Pack ein div-Element mit ID um den iframe und weise diesem in JS einen Event-Handler zu.

document.getElementById("idOfYourDiv").addEventListener("click", function() {
    location.href = "your URL";
});