Ich habe eine MVC-App, die ich versuche, CKEditor mit zu verwenden. Ein Beispiel, das ich betrachtete, ist here, aber es gibt viele andere. So weit, so gut, aber ein Abschnitt, den ich immer noch neugierig bin, ist die js, die den ausgewählten Dateinamen zurück zum Textdialogfeld zum Hochladen von Dateien sendet.Verwenden von CKEditor benutzerdefinierte Filebrowser und Upload mit ASP.Net MVC
<script type="text/javascript">
$(document).ready(function() {
$(".returnImage").click("click", function (e) {
var urlImage = $(this).attr("data-url");
window.opener.updateValue("cke_72_textInput", urlImage);
window.close();
});
});
</script>
Insbesondere das cke_72_textInput
Element. Mein Beispiel funktionierte zunächst nicht, bis ich Chrome-Dev-Tools öffnete und die tatsächliche ID des Textinputs fand, was in meinem Fall cke_76_textInput war. Warum die ID ändern, frage ich mich? Scheint ein bisschen "fragil" auf eine bestimmte ID wie diese zu verweisen? Der obige js-Code nimmt nur die ausgewählte Bilddatei und gibt sie in das Textfeld des Dateiupload-Dialogs zurück.
Gibt es etwas exposed, das dieses Textbox-Element indirekt referenziert, ohne es per ID zu spezifizieren (über die config zum Beispiel)?