• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Session-Cookie aus iFrame weiterleiten / übernehmen - Scriptfehler?

th_wolfgang

New member
Hallo,

ich will, das in einem iFram die Cookies nicht verloren gehen, wenn ich mit diesem eine Seite einbinde. Benötige die Sitzungscookies der im iFram dargestellten Seite in allen Browsern.

Kann hier bitte jemand schauen, ich glaube ich habe da einen Fehler drin, denn so geht es nicht richtig:
(Ich denke mir, das es an dem Sandbox-Javascript liegen kann.)

Code:
<script type="text/javascript">
var iframe = document.getElementById("myFrame");
// Erste Test-Nachricht an den Iframe
iframe.onload = function() {
iframe.contentWindow.postMessage(‘Hallo Iframe!’, "*" );
};
</script>

<script type="text/javascript">
if (window.addEventListener){
window.addEventListener("message", listener, false);
} else {
window.attachEvent("onmessage", listener);
}
</script>

<script>
   function setSandbox() 
   {
      var frame = document.querySelector('#iframe');
      var frameInfo = "", flag = "";

      else 
      {
         /* Access to cookies within the same domain is allowed */                   
         flag = "allow-scripts allow-same-origin";
         frameInfo = "<iframe src sandbox="allow-same-origin allow-scripts allow-top-navigation allow-forms"></iframe>";
      }

      frame.setAttribute("sandbox", flag);
      frame.setAttribute("src", "mobilewebseite.de/index.php");
      document.querySelector("#description");
   }
</script>


</head>
<body>


<iframe seamless id="myFrame" width="640" top="-50" padding-top="-50"   height="425" style="inline" sandbox="allow-same-origin allow-scripts allow-top-navigation allow-forms" scrolling="no" overflow:hidden;
src="http://mobilewebseite.de" frameborder="0" z-index="99999";
marginheight="100%" marginwidth="0">
</iframe>

Danke für eure Hilfe & LG
Wolf
 
Du solltest auf jeden Fall Meldungen in der Fehlerkonsole haben...

Wann wird denn setSandbox() überhaupt ausgeführt?

PS: Solange du dich auf der exakt gleichen Domain (also die SOP nicht verletzt ist) befindest, sollte das iFrame sowieso alle Cookies bekommen. Du hast irgendwie wirklich seltsame Probleme mit Cookies... oder verwendet dein System Pfadcookies?

Was gibt denn dein System aus, wenn du das hier laufen lässt:
HTML:
<!DOCTYPE html>

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Fenstertitel</title>
</head>
<body>
<iframe id="iframe" src="/"></iframe>
<script type="text/javascript">
document.getElementById("iframe").addEventListener("load", function(){
	console.log("window", document.cookie);
	console.log("iframe", this.contentWindow.document.cookie);
}, false);
</script>
</body>
</html>
 
Danke Dir,

das Problem wird wohl sein, das es sich um eine andere Domain handelt, deren Inhalt durch den iFrame eingefügt wird. Ich brauche allerdings den Cookie von der zweiten Domain. Hier ist einmal einer als Beispiel: s2d6_sid_904f6c513bba3dedf8daa25048378c2f=55e1b8953ba6e7ecc12aca193ed5c9bb

Im Firefox funktioniert das aber nicht an anderen Browsern: Chrome, Safari, IE etc.

Hier einmal die Meldung der Fehlerkonsole, aber wie gesagt im Firefox funktionieren die Cookies. (Ist ein Portabler FF)

Code:
08:48:43.505 Could not read chrome manifest 'file:///E:/00/firefox/FirefoxPortable/App/firefox/chrome.manifest'.
08:48:43.745 Could not read chrome manifest 'file:///E:/00/firefox/FirefoxPortable/App/firefox/browser/extensions/%7B972ce4c6-7e08-4474-a285-3208198ce6fd%7D/chrome.manifest'.
08:48:43.757 While creating services from category 'profile-after-change', could not create service for entry 'Disk Space Watcher Service', contract ID '@mozilla.org/toolkit/disk-space-watcher;1'
08:48:43.843 isisNoTraceShare.isisNoTraceSharedObjects.completeTechArray.noidheader is undefined isisNoTraceSharedObjects.js:789
08:48:44.066 Error in parsing value for 'margin-left'.  Declaration dropped. awarenessListOverlay.xul
08:48:44.080 Unknown property '-moz-border-radius'.  Declaration dropped. imacros.css:97
08:48:44.094 Use of Document.load() is deprecated. To upgrade your code, use the DOM XMLHttpRequest object. For more help https://developer.mozilla.org/en/XMLHttpRequest HttpFox.js:104
08:48:44.163 Error in parsing value for 'background'.  Declaration dropped. embed.css:220
08:48:44.163 Error in parsing value for 'background'.  Declaration dropped. embed.css:228
08:48:44.163 Error in parsing value for 'background'.  Declaration dropped. embed.css:285
08:48:44.163 Error in parsing value for 'background'.  Declaration dropped. embed.css:295
08:48:44.252 Timed textboxes are deprecated. Consider using type="search" instead. browser.xul
08:48:44.277 not well-formed api-rules.json:1
08:48:44.701 [object Object] runner.js:162
08:48:44.701 [object Object] promise.js:133
08:48:44.747 [object Object] runner.js:162
08:48:44.747 [object Object] promise.js:133
08:48:45.596 [Exception... "Component returned failure code: 0x80520012 (NS_ERROR_FILE_NOT_FOUND) [nsIXPCComponents_Utils.import]"  nsresult: "0x80520012 (NS_ERROR_FILE_NOT_FOUND)"  location: "JS frame :: resource://gre/modules/XPIProvider.jsm -> jar:file:///E:/00/firefox/FirefoxPortable/Data/profile/extensions/%7B158d7cb3-7039-4a75-8e0b-3bd0a464edd2%7D.xpi!/bootstrap.js :: <TOP_LEVEL> :: line 409"  data: no] bootstrap.js:411
08:48:50.920 Key event not available on some keyboard layouts: key="c" modifiers="accel alt" browser.xul
08:48:50.920 Key event not available on some keyboard layouts: key="g" modifiers="alt control" browser.xul
08:48:54.608 1432536534608	Services.HealthReport.HealthReporter	WARN	No prefs data found.

08:49:06.425 A promise chain failed to handle a rejection.

Date: Mon May 25 2015 08:48:54 GMT+0200
Full Message: Win error 183 during operation makeDir (Cannot create a file when that file already exists.

)
08:49:08.524 [object Error] page-mod.js:208
08:49:09.339 NTLog - ERROR: NS_BINDING_ABORTED-Component returned failure code: 0x804b0002 (NS_BINDING_ABORTED) [nsIStreamListener.onDataAvailable]

LG & Danke Wolf
 
Wenn es in einem Browser klappt und in anderen nicht, denkst du trotzdem, dass das mit anderem Code behebbar ist? Es gibt Dinge, die können eben nur manche Browser. Beispielsweise das Nichtbeachten der SOP bei lokal geöffneten Dateien (file://) kann auch nur der IE auf Win und der Safari auf Mac, bei den anderen keine Chance.
 
Zurück
Oben