CPU
Lieutenant
- Registriert
- Jan. 2006
- Beiträge
- 704
Hallo,
schaut Euch mal bitte folgenden Code an:
index.html
iframe.php
In der Datei index.html steht folgende Zeile:
in der darauffolgenden Zeile wird "designMode" auf "on" gesetzt. Das klappt auch wunderbar, doch wenn ich die Zeile mit alert('...'); rausnehme, dann funktioniert das mit designMode nicht mehr ...
Hat jemand eine Idee, was da schiefläuft?
Wie kann ich (angenommen es würde laufen), ein Kontext-Menü im Iframe erstellen?
Vielen Dank vorab,
CPU
schaut Euch mal bitte folgenden Code an:
index.html
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="JavaScript">
sh = function( obj ) {
var ni = document.createElement('iframe');
obj.disabled = true;
ni.style.height = obj.style.height;
ni.style.width = obj.style.width;
ni.style.border = '1px solid gray';
ni.frameBorder = 0; // remove IE internal iframe border
ni.style.overflow = 'auto';
ni.id = "edit";
var e = document.getElementById( document.getElementById(obj.id).parentNode.id);
obj.style.display = "none";
e.appendChild(ni);
ni.src = 'iframe.php';
};
function init() {
t = document.getElementsByTagName('textarea');
for(var i=0,n=t.length;i<n;i++) {
if( t[i].className.match("sh") ) {
id = t[i].id;
t[i].id = id+'_sh';
eval(id+' = new sh(t[i])');
}
}
alert(document.getElementById('edit').contentWindow.document.designMode);
document.getElementById('edit').contentWindow.document.designMode = "on";
}
function test() {
document.getElementById('edit').contentWindow.test('bla');
}
function html() {
innerhtml = document.getElementById('edit').contentWindow.document.body.innerHTML;
alert(innerhtml);
}
function set() {
var html = prompt("Eingabe:","?");
document.getElementById('edit').contentWindow.document.body.innerHTML = html;
}
</script>
</head>
<body id="body" onload="init();">
<input type="button" onclick="test()" />
<input type="button" onclick="html()" value="html()" />
<input type="button" onclick="set()" value="set()" />
<div id="container">
<textarea style="height: 500px;width: 1200px;" id="filed1" class="sh">
Hallo
</textarea>
</div>
</body>
</html>
iframe.php
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Highlight</title>
<script type="text/javascript">
function test( code ) {
alert(code);
}
document.onclick = function () {
alert('!');
};
</script>
</head>
<body>
h
<!-- <input type="button" onclick="test()" /> -->
</body>
</html>
In der Datei index.html steht folgende Zeile:
HTML:
alert(document.getElementById('edit').contentWindow.document.designMode);
Hat jemand eine Idee, was da schiefläuft?
Wie kann ich (angenommen es würde laufen), ein Kontext-Menü im Iframe erstellen?
Vielen Dank vorab,
CPU