• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

execcommand - IE erst beim zweiten dritten mal ausgeführt

gd0123456

Mitglied
Hi, habe ein Problem mit der execcommand. In Safari, Opera und Firefox wird dieser Befehl sofort ausgeführt. Bei jedem Klick. Beim Internet Explorer 11 muss ich den Befehl oft zwei oder drei mal ausführen damit dieser im iframe übernommen wird. Weiß jemand warum?

JavaScript:
function doRichEditCommand(aName, aArg)
{
getIFrameDocument('frame').execCommand(aName,false, aArg);
document.getElementById('frame').contentWindow.focus();
}

HTML:
<td style = "background-color: #ffffff; width: 25px; height=25px;" class = "color_rahmen" onMouseDown = "doRichEditCommand('ForeColor','#ffffff');">&nbsp;</td>

Danke für die Hilfe
 
Hi, habe ein Problem mit der execcommand. In Safari, Opera und Firefox wird dieser Befehl sofort ausgeführt. Bei jedem Klick. Beim Internet Explorer 11 muss ich den Befehl oft zwei oder drei mal ausführen damit dieser im iframe übernommen wird. Weiß jemand warum?

JavaScript:
function doRichEditCommand(aName, aArg)
{
getIFrameDocument('frame').execCommand(aName,false, aArg);
document.getElementById('frame').contentWindow.focus();
}

HTML:
<td style = "background-color: #ffffff; width: 25px; height=25px;" class = "color_rahmen" onMouseDown = "doRichEditCommand('ForeColor','#ffffff');">&nbsp;</td>

Danke für die Hilfe

Ich würde mal versuchen, erst den focus zu setzen und dann erst execCommand.
Außerdem hast du wieder einen Fehler im HTML bzw. CSS: height=25px
 
Super danke für die schnell Antwort funktioniert. Jetzt habe ich noch eine Frage. Kann man mit execcommand einen Style bearbeiten? zum Beispiel ich erstelle einen link mit execcomand("createLink","test",0) und möchte aber dass er nicht unterstrichen ist, geht dies?
 
Super danke für die schnell Antwort funktioniert. Jetzt habe ich noch eine Frage. Kann man mit execcommand einen Style bearbeiten? zum Beispiel ich erstelle einen link mit execcomand("createLink","test",0) und möchte aber dass er nicht unterstrichen ist, geht dies?

Ich denke du musst dem iFrame einfach ein bisschen CSS hinzufügen, zB:
Code:
<style>a {text-decoration:none;}</style>
 
Es geht darum, wenn er die Checkbox angeklickt hat soll der link unterstrichen sein und wenn nicht dann nicht. Kann ich mit execcommand auf Stylesheet zugreifen?
 
Es geht darum, wenn er die Checkbox angeklickt hat soll der link unterstrichen sein und wenn nicht dann nicht. Kann ich mit execcommand auf Stylesheet zugreifen?

Nein.. Du arbeitest offensichtlich mit einem iFrame.
In dieses iFrame lädst du ja zu Beginn HTML-Code.
Diesem HTML-Dokument kannst du nun ganz normal wie jedem anderen auch, CSS im <head> einfügen.
Um genaueres zu sagen, müsste man deinen gesamten Aufbau kennen.
 
Zuletzt bearbeitet:
function getIFrameDocument(aID)
{
// if contentDocument exists, W3C compliant (Mozilla)
if (document.getElementById(aID).contentDocument)
{
return document.getElementById(aID).contentDocument;
}
else
{
// IE
return document.frames[aID].document;
}
}

function insertLink(iframename, text, replaceContents)
{
document.getElementById('frame').contentWindow.focus();
getIFrameDocument('frame').execCommand("createLink",false, replaceContents);
document.getElementById('frame').contentWindow.focus();
getIFrameDocument('frame').execCommand("unwrap",false);

}

das ist die Funktion die mir einen link einfügt. nur möchte ich eben einen style fest legen wenn die Checkbox nicht angehackt wurde dass kein underline ist.
 
Zurück
Oben