📄 fck_image.js
字号:
var oEditor = window.parent.InnerDialogLoaded();var FCK = oEditor.FCK;var FCKLang = oEditor.FCKLang;var FCKConfig = oEditor.FCKConfig;var FCKDebug = oEditor.FCKDebug;var bImageButton = (document.location.search.length > 0 && document.location.search.substr(1) == "ImageButton");window.parent.AddTab("Info", FCKLang.DlgImgInfoTab);if (!bImageButton && !FCKConfig.ImageDlgHideLink) {window.parent.AddTab("Link", FCKLang.DlgImgLinkTab);}if (FCKConfig.ImageUpload) {window.parent.AddTab("Upload", FCKLang.DlgLnkUpload);}if (!FCKConfig.ImageDlgHideAdvanced) {window.parent.AddTab("Advanced", FCKLang.DlgAdvancedTag);}function OnDialogTabChange(tabCode) {ShowE("divInfo", (tabCode == "Info"));ShowE("divLink", (tabCode == "Link"));ShowE("divUpload", (tabCode == "Upload"));ShowE("divAdvanced", (tabCode == "Advanced"));}var oImage = FCK.Selection.GetSelectedElement();if (oImage && oImage.tagName != "IMG" && !(oImage.tagName == "INPUT" && oImage.type == "image")) {oImage = null;}var oLink = FCK.Selection.MoveToAncestorNode("A");var oImageOriginal;function UpdateOriginal(resetSize) {if (!eImgPreview) {return;}if (GetE("txtUrl").value.length == 0) {oImageOriginal = null;return;}oImageOriginal = document.createElement("IMG");if (resetSize) {oImageOriginal.onload = function () {this.onload = null;ResetSizes();};}oImageOriginal.src = eImgPreview.src;}var bPreviewInitialized;window.onload = function () {oEditor.FCKLanguageManager.TranslatePage(document);GetE("btnLockSizes").title = FCKLang.DlgImgLockRatio;GetE("btnResetSize").title = FCKLang.DlgBtnResetSize;LoadSelection();GetE("tdBrowse").style.display = FCKConfig.ImageBrowser ? "" : "none";GetE("divLnkBrowseServer").style.display = FCKConfig.LinkBrowser ? "" : "none";UpdateOriginal();if (FCKConfig.ImageUpload) {GetE("frmUpload").action = FCKConfig.ImageUploadURL;}window.parent.SetAutoSize(true);window.parent.SetOkButton(true);};function LoadSelection() {if (!oImage) {return;}var sUrl = GetAttribute(oImage, "_fcksavedurl", "");if (sUrl.length == 0) {sUrl = GetAttribute(oImage, "src", "");}GetE("txtUrl").value = sUrl;GetE("txtAlt").value = GetAttribute(oImage, "alt", "");GetE("txtVSpace").value = GetAttribute(oImage, "vspace", "");GetE("txtHSpace").value = GetAttribute(oImage, "hspace", "");GetE("txtBorder").value = GetAttribute(oImage, "border", "");GetE("cmbAlign").value = GetAttribute(oImage, "align", "");var iWidth, iHeight;var regexSize = /^\s*(\d+)px\s*$/i;if (oImage.style.width) {var aMatch = oImage.style.width.match(regexSize);if (aMatch) {iWidth = aMatch[1];oImage.style.width = "";}}if (oImage.style.height) {var aMatch = oImage.style.height.match(regexSize);if (aMatch) {iHeight = aMatch[1];oImage.style.height = "";}}GetE("txtWidth").value = iWidth ? iWidth : GetAttribute(oImage, "width", "");GetE("txtHeight").value = iHeight ? iHeight : GetAttribute(oImage, "height", "");GetE("txtAttId").value = oImage.id;GetE("cmbAttLangDir").value = oImage.dir;GetE("txtAttLangCode").value = oImage.lang;GetE("txtAttTitle").value = oImage.title;GetE("txtAttClasses").value = oImage.getAttribute("class", 2) || "";GetE("txtLongDesc").value = oImage.longDesc;if (oEditor.FCKBrowserInfo.IsIE) {GetE("txtAttStyle").value = oImage.style.cssText;} else {GetE("txtAttStyle").value = oImage.getAttribute("style", 2);}if (oLink) {var sUrl = GetAttribute(oLink, "_fcksavedurl", "");if (sUrl.length == 0) {sUrl = oLink.getAttribute("href", 2);}GetE("txtLnkUrl").value = sUrl;GetE("cmbLnkTarget").value = oLink.target;}UpdatePreview();}function Ok() {if (GetE("txtUrl").value.length == 0) {window.parent.SetSelectedTab("Info");GetE("txtUrl").focus();alert(FCKLang.DlgImgAlertUrl);return false;}var bHasImage = (oImage != null);if (bHasImage && bImageButton && oImage.tagName == "IMG") {if (confirm("Do you want to transform the selected image on a image button?")) {oImage = null;}} else {if (bHasImage && !bImageButton && oImage.tagName == "INPUT") {if (confirm("Do you want to transform the selected image button on a simple image?")) {oImage = null;}}}if (!bHasImage) {if (bImageButton) {oImage = FCK.EditorDocument.createElement("INPUT");oImage.type = "image";oImage = FCK.InsertElementAndGetIt(oImage);} else {oImage = FCK.CreateElement("IMG");}} else {oEditor.FCKUndo.SaveUndoStep();}UpdateImage(oImage);var sLnkUrl = GetE("txtLnkUrl").value.trim();if (sLnkUrl.length == 0) {if (oLink) {FCK.ExecuteNamedCommand("Unlink");}} else {if (oLink) {oLink.href = sLnkUrl;} else {if (!bHasImage) {oEditor.FCKSelection.SelectNode(oImage);}oLink = oEditor.FCK.CreateLink(sLnkUrl);if (!bHasImage) {oEditor.FCKSelection.SelectNode(oLink);oEditor.FCKSelection.Collapse(false);}}SetAttribute(oLink, "_fcksavedurl", sLnkUrl);SetAttribute(oLink, "target", GetE("cmbLnkTarget").value);}return true;}function UpdateImage(e, skipId) {e.src = GetE("txtUrl").value;SetAttribute(e, "_fcksavedurl", GetE("txtUrl").value);SetAttribute(e, "alt", GetE("txtAlt").value);SetAttribute(e, "width", GetE("txtWidth").value);SetAttribute(e, "height", GetE("txtHeight").value);SetAttribute(e, "vspace", GetE("txtVSpace").value);SetAttribute(e, "hspace", GetE("txtHSpace").value);SetAttribute(e, "border", GetE("txtBorder").value);SetAttribute(e, "align", GetE("cmbAlign").value);if (!skipId) {SetAttribute(e, "id", GetE("txtAttId").value);}SetAttribute(e, "dir", GetE("cmbAttLangDir").value);SetAttribute(e, "lang", GetE("txtAttLangCode").value);SetAttribute(e, "title", GetE("txtAttTitle").value);SetAttribute(e, "class", GetE("txtAttClasses").value);SetAttribute(e, "longDesc", GetE("txtLongDesc").value);if (oEditor.FCKBrowserInfo.IsIE) {e.style.cssText = GetE("txtAttStyle").value;} else {SetAttribute(e, "style", GetE("txtAttStyle").value);}}var eImgPreview;var eImgPreviewLink;function SetPreviewElements(imageElement, linkElement) {eImgPreview = imageElement;eImgPreviewLink = linkElement;UpdatePreview();UpdateOriginal();bPreviewInitialized = true;}function UpdatePreview() {if (!eImgPreview || !eImgPreviewLink) {return;}if (GetE("txtUrl").value.length == 0) {eImgPreviewLink.style.display = "none";} else {UpdateImage(eImgPreview, true);if (GetE("txtLnkUrl").value.trim().length > 0) {eImgPreviewLink.href = "javascript:void(null);";} else {SetAttribute(eImgPreviewLink, "href", "");}eImgPreviewLink.style.display = "";}}var bLockRatio = true;function SwitchLock(lockButton) {bLockRatio = !bLockRatio;lockButton.className = bLockRatio ? "BtnLocked" : "BtnUnlocked";lockButton.title = bLockRatio ? "Lock sizes" : "Unlock sizes";if (bLockRatio) {if (GetE("txtWidth").value.length > 0) {OnSizeChanged("Width", GetE("txtWidth").value);} else {OnSizeChanged("Height", GetE("txtHeight").value);}}}function OnSizeChanged(dimension, value) {if (oImageOriginal && bLockRatio) {var e = dimension == "Width" ? GetE("txtHeight") : GetE("txtWidth");if (value.length == 0 || isNaN(value)) {e.value = "";return;}if (dimension == "Width") {value = value == 0 ? 0 : Math.round(oImageOriginal.height * (value / oImageOriginal.width));} else {value = value == 0 ? 0 : Math.round(oImageOriginal.width * (value / oImageOriginal.height));}if (!isNaN(value)) {e.value = value;}}UpdatePreview();}function ResetSizes() {if (!oImageOriginal) {return;}GetE("txtWidth").value = oImageOriginal.width;GetE("txtHeight").value = oImageOriginal.height;UpdatePreview();}function BrowseServer() {OpenServerBrowser("Image", FCKConfig.ImageBrowserURL, FCKConfig.ImageBrowserWindowWidth, FCKConfig.ImageBrowserWindowHeight);}function LnkBrowseServer() {OpenServerBrowser("Link", FCKConfig.LinkBrowserURL, FCKConfig.LinkBrowserWindowWidth, FCKConfig.LinkBrowserWindowHeight);}function OpenServerBrowser(type, url, width, height) {sActualBrowser = type;OpenFileBrowser(url, width, height);}var sActualBrowser;function SetUrl(url, width, height, alt) {if (sActualBrowser == "Link") {GetE("txtLnkUrl").value = url;UpdatePreview();} else {GetE("txtUrl").value = url;GetE("txtWidth").value = width ? width : "";GetE("txtHeight").value = height ? height : "";if (alt) {GetE("txtAlt").value = alt;}UpdatePreview();UpdateOriginal(true);}window.parent.SetSelectedTab("Info");}function OnUploadCompleted(errorNumber, fileUrl, fileName, customMsg) {switch (errorNumber) {case 0:alert("Your file has been successfully uploaded");break;case 1:alert(customMsg);return;case 101:alert(customMsg);break;case 201:alert("A file with the same name is already available. The uploaded file has been renamed to \"" + fileName + "\"");break;case 202:alert("Invalid file type");return;case 203:alert("Security error. You probably don't have enough permissions to upload. Please check your server.");return;default:alert("Error on file upload. Error number: " + errorNumber);return;}sActualBrowser = "";SetUrl(fileUrl);GetE("frmUpload").reset();}var oUploadAllowedExtRegex = new RegExp(FCKConfig.ImageUploadAllowedExtensions, "i");var oUploadDeniedExtRegex = new RegExp(FCKConfig.ImageUploadDeniedExtensions, "i");function CheckUpload() {var sFile = GetE("txtUploadFile").value;if (sFile.length == 0) {alert("Please select a file to upload");return false;}if ((FCKConfig.ImageUploadAllowedExtensions.length > 0 && !oUploadAllowedExtRegex.test(sFile)) || (FCKConfig.ImageUploadDeniedExtensions.length > 0 && oUploadDeniedExtRegex.test(sFile))) {OnUploadCompleted(202);return false;}return true;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -