⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 opencms_boeditor.js

📁 OpenCms 是一个J2EE的产品
💻 JS
字号:
    // This method is alwas called on form submit
    function doUpdate() {
        var len = document.all.length;
        for (i=0; i<len; i++) {
            obj = document.all(i);
            if ((obj != null) && (obj.name != null)) {
                var pos = obj.name.indexOf("-unescaped");
                if (pos >= 0) {
                    var source = obj.name.substring(0, pos);
                    if (obj.value != null) {
                        document.all(source).value = obj.value; 
                    } else {
                        document.all(source).value = obj.innerHTML;
                    }
                }
            }
        }
        filterSpanTags();
        updateForm();
    }
    
    function filterSpanTags() {
        var len = document.all.length;
        for (i=0; i<len; i++) {
            obj = document.all(i);
            if ((obj != null) && (obj.name != null)) {
                var pos = obj.name.indexOf("-unescaped");
                if (pos >= 0) {
                    var source = obj.name.substring(0, pos);
                    var htmlSrc = "";
                    
                    if (obj.value != null) {
                    	htmlSrc += obj.value;                      
                    } else {
                    	htmlSrc += obj.innerHTML;
                    }

                   	var noOpeningSpanTags = "" + htmlSrc.replace( /<(span)[^>]*>/gi, "" );
                   	var noClosingSpanTags = "" + noOpeningSpanTags.replace( /<(\/span)>/gi, "" );
                    document.all(source).value = "" + noClosingSpanTags;                     
                }
            }
        }
    }    

    // This mehtod is called on form load
    function doInit() {    	
        // Check what base URL the server operates on (needed below to maintain relative links)
        var relPrefix = null;
        var linktester = document.all('edit_linktester');
        if (linktester) {
        	linktester.innerHTML = "<a href='/'></a>";
        	var relPrefix = linktester.firstChild.href;
        }
        // Now init all form elements        
        var len = document.all.length;
        for (i=0; i<len; i++) {
            obj = document.all(i);
            if ((obj != null) && (obj.name != null)) {
                var pos = obj.name.indexOf("-unescaped");
                if (pos >= 0) {
                    var source = obj.name.substring(0, pos);
                    if (obj.value != null) {
                        obj.value = unescape(document.all(source).value);
                    } else {
                        // Warning: This will replace all relative links and make them absolute
                        obj.innerHTML = unescape(document.all(source).value);
                    }
                }
            }
        }   
        // Check all "A" tags in the page that have been made absolute and make them relative again
        if (linktester) {
            allTags = document.all.tags("A");
            for (i=0; i<allTags.length; i++) {
                curTag = allTags[i];                        	
                var pos = curTag.href.indexOf(relPrefix);
                if (pos >= 0) {
                    var cutHref = curTag.href.substring(pos + relPrefix.length - 1);
                    curTag.setAttribute("HREF", cutHref, 0);
                }
            }      
        }
        // Finally call user initForm() method
        initForm();
    }
    
    // The following methods create a near - wysiwyg edit area
    var activeEdit = "null";
    var cancelToggle = true;
    function activate(editor) {
        if (activeEdit != editor) {
            activeEdit = editor;
            var elEdit = document.all(activeEdit);
            var elBbar = document.all("buttonbar");
            elEdit.focus();
            elBbar.style.display="none";
            elEdit.parentNode.insertBefore(elBbar, elEdit);            
            elBbar.style.pixelWidth = elEdit.style.pixelWidth;
            elBbar.style.display="inline";            
            document.recalc(true);
            elBbar.blur();
        }
        window.event.cancelBubble = true;
    }   

    function deactivate(editor) {
        activeEdit = "null";
        document.all("buttonbar").style.display="none";
    }

    var lastButton = null;
    // Makes button look sunken when button is clicked
    function BtnDown()
    {
        var src = window.event.srcElement;
        if ( (src != null) && (src.name != null) && (src.name.indexOf("edit_") >= 0) ) {        
            src.style.borderStyle = "inset";
            lastButton = src;
     		cancelToggle = false;
        } 
        window.event.cancelBubble = true;
    }

    // Makes button look raised when button is released
    function BtnUp()
    {
        if (lastButton != null) {
            lastButton.style.borderStyle = "outset";
        }
        cancelToggle = true;
    }

    var linkEditor = null;             
    var linkEditorAll = null;
    var linkEditorRange = null;
    var linkEditorSelection = null;
    var linkEditorStyleInputs = false;

    // Executes commands depending on which button has been pushed
    function Toggle()
    {
    	if (cancelToggle) return;
    	
        // get button label
        var text = null;
        var src = window.event.srcElement.name;
        if ( (src != null) && (src.indexOf("edit_") >= 0) ) {
            text = src.substring(src.indexOf("edit_")+5, src.length);
        } else {
            text = window.event.srcElement.innerText;        
        }

        if (text == "N") {
        	filterSpanTags();
            document.execCommand("RemoveFormat");
            document.execCommand("formatBlock", "", "<P>");
        }

        else if (text == "B")
            document.execCommand("Bold");

        else if (text == "I")
            document.execCommand("Italic");

        else if (text == "U")
            document.execCommand("Underline");

        else if (text == "S")
            document.execCommand("StrikeThrough");

        else if (text == "LINK") {            
            linkEditor = document.all(activeEdit);        
            linkEditorAll = document.all;  
            linkEditorSelection = document.selection;
            linkEditorRange = document.body.createTextRange();
            linkwin = window.open('../../../../workplace/action/edit_html_linkall.html','SetLink', "width=450, height=175, resizable=no, top=300, left=250");        
        }
        	
        else if (text == "UL")
        	document.execCommand("InsertOrderedList");
       
        else if (text == "OL")
            document.execCommand("InsertUnorderedList");

        else if (text == "I^")
            document.execCommand("SuperScript");

        else if (text == "I_")
            document.execCommand("SubScript");

        else if (text == "|--")
            document.execCommand("JustifyLeft");

        else if (text == "-|-")
            document.execCommand("JustifyCenter");

        else if (text == "--|")
            document.execCommand("JustifyRight");

        else if (text == ">>")
            document.execCommand("Indent");

        else if (text == "<<")
            document.execCommand("Outdent");
            
        else if (text == "HEADING") {       
            document.execCommand("formatBlock", "", "<H2>");            
        }

        else if (text == "+")
            if (document.all(activeEdit).style.overflow=="auto") {
                document.all(activeEdit).style.overflow="visible"
            } else {
                document.all(activeEdit).style.overflow="auto"
            };
    } 
    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -