mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
Fixing the TinyMCE image uploader in Chrome and Opera
--HG-- branch : dev
This commit is contained in:
@@ -2,14 +2,14 @@
|
|||||||
|
|
||||||
// async media file uploads brought to you with a little insight from reading: http://www.bennadel.com/blog/1244-ColdFusion-jQuery-And-AJAX-File-Upload-Demo.htm
|
// async media file uploads brought to you with a little insight from reading: http://www.bennadel.com/blog/1244-ColdFusion-jQuery-And-AJAX-File-Upload-Demo.htm
|
||||||
var AddMediaDialog = {
|
var AddMediaDialog = {
|
||||||
init: function() {
|
init: function () {
|
||||||
var form = document.forms[0];
|
var form = document.forms[0];
|
||||||
form.action = tinyMCE.activeEditor.getParam('addmedia_action');
|
form.action = tinyMCE.activeEditor.getParam('addmedia_action');
|
||||||
form.MediaPath.value = tinyMCE.activeEditor.getParam('addmedia_path');
|
form.MediaPath.value = tinyMCE.activeEditor.getParam('addmedia_path');
|
||||||
form.__RequestVerificationToken.value = tinyMCE.activeEditor.getParam('request_verification_token');
|
form.__RequestVerificationToken.value = tinyMCE.activeEditor.getParam('request_verification_token');
|
||||||
},
|
},
|
||||||
|
|
||||||
addMedia: function(form) {
|
addMedia: function (form) {
|
||||||
var iframeName = "addmedia__" + (new Date()).getTime();
|
var iframeName = "addmedia__" + (new Date()).getTime();
|
||||||
|
|
||||||
var iframe;
|
var iframe;
|
||||||
@@ -22,12 +22,18 @@ var AddMediaDialog = {
|
|||||||
iframe.src = "about:blank";
|
iframe.src = "about:blank";
|
||||||
tinymce.DOM.setStyles(iframe, { display: "none" });
|
tinymce.DOM.setStyles(iframe, { display: "none" });
|
||||||
|
|
||||||
var iframeLoadHandler = tinymce.dom.Event.add(iframe, 'load', function(ev) {
|
var iframeLoadHandler = tinymce.dom.Event.add(iframe, 'load', function (ev) {
|
||||||
try {
|
try {
|
||||||
var result = window.frames[iframeName].result, close = 0;
|
var frameWindow = window.frames[iframeName];
|
||||||
|
|
||||||
|
if (frameWindow.document.URL == "about:blank") {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
var result = frameWindow.result, close = 0;
|
||||||
|
|
||||||
if (result && result.url) {
|
if (result && result.url) {
|
||||||
if (window.parent && window.parent.AddMediaDialog) {
|
if (window.parent && window.parent.AddMediaDialog) {
|
||||||
window.parent.AddMediaDialog.insertMedia(result.url);
|
window.parent.AddMediaDialog.insertMedia(result.url);
|
||||||
} else {
|
} else {
|
||||||
AddMediaDialog.insertMedia(result.url);
|
AddMediaDialog.insertMedia(result.url);
|
||||||
@@ -49,7 +55,7 @@ var AddMediaDialog = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//cleanup
|
//cleanup
|
||||||
setTimeout(function() {
|
setTimeout(function () {
|
||||||
tinymce.dom.Event.remove(iframe, 'load', iframeLoadHandler);
|
tinymce.dom.Event.remove(iframe, 'load', iframeLoadHandler);
|
||||||
tinymce.DOM.remove(iframe);
|
tinymce.DOM.remove(iframe);
|
||||||
iframe = null;
|
iframe = null;
|
||||||
@@ -72,7 +78,7 @@ var AddMediaDialog = {
|
|||||||
form.target = iframe.name;
|
form.target = iframe.name;
|
||||||
},
|
},
|
||||||
|
|
||||||
insertMedia: function(url) {
|
insertMedia: function (url) {
|
||||||
if (!url) return;
|
if (!url) return;
|
||||||
|
|
||||||
var markup = /\.(jpe?g|png|gif)$/i.test(url)
|
var markup = /\.(jpe?g|png|gif)$/i.test(url)
|
||||||
|
|||||||
Reference in New Issue
Block a user