0

ckeditor でブラウズ サーバーをクリックしても、画像ブラウザのポップアップが表示されません。Google Chrome でのみ問題に直面しています。Google Chrome の 18.0.1025.152 m バージョンを使用しています。 ここに画像の説明を入力

ckeditor/plugins/popup/plugin.js に変更を加えました

    try
    {
        // Chrome 18 is problematic, but it's not really needed here (#8855).
        var ua = navigator.userAgent.toLowerCase();
        if ( ua.indexOf('chrome/18' ) == -1 )
        {
            popupWindow.moveTo( left, top );
            popupWindow.resizeTo( width, height );
        }
        popupWindow.focus();
        popupWindow.location.href = url;
    }
    catch ( e )
    {
        popupWindow = window.open( url, null, options, true );
    }

このリンクをたどりました ここにリンクの説明を入力してください しかし、問題を解決できません。誰か助けてください

4

3 に答える 3

1

opencart 1.5.1.3 ckeditor を使用しています。/admin/view/javascript/ckeditor/ckeditor.js を編集し、javascript コードをhttp://jsbeautifier.org/に再調整します。

私はckeditorコミュニティからのパッチと少しの変更を試みました。できます! http://dev.ckeditor.com/ticket/8855

したがって、誰かが opencart で私のような同様の問題に直面している場合は、以下の変更を試すことができます。

+++ b/v1.5.1.3/admin/view/javascript/ckeditor/ckeditor.js
@@ -9190,8 +9190,21 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
         var s = window.open('', null, p, true);
         if (!s) return false;
         try {
-             s.moveTo(r, q);
-             s.resizeTo(n, o);
+             // s.moveTo(r, q);
+             // s.resizeTo(n, o); 
+             // Chrome 18 is problematic, but it's not really needed here (#8855). 
+             var ua = navigator.userAgent.toLowerCase(); 
+             var useResize = true; 
+             if (ua.indexOf('chrome') > -1) { 
+                 var chromeVersion = ua.replace(/^.*chrome\/([\d]+).*$/i, '$1') 
+                 if(chromeVersion >= 18) { 
+                     useResize = false; 
+                 } 
+             }  
+             if (useResize) {
+                 s.moveTo( r, q ); 
+                 s.resizeTo( n, o ); 
+             } 
              s.focus();
              s.location.href = m;
         } catch (t) { 
于 2012-07-23T13:45:14.870 に答える
1

ソース ファイルを編集する場合は、再度パッケージ化する必要があります。CKEditor 3.6.3に更新して他のすべてのバグ修正を取得する方がはるかに簡単です。

于 2012-04-20T12:33:30.473 に答える
0

私はprimefaces-extensionsにバンドルされているCKEditor3.6.2を使用しているので、アップグレードはそれほど簡単ではありません。ただし、ページに対して次の修正を実行することもできました。CKEDITOR変数が初期化された後に確実に起動されるように、設定ファイルに貼り付けました。

    CKEDITOR.editor.prototype['popup'] = function( url, width, height, options ) {
        width = width || '80%';
        height = height || '70%';

        if ( typeof width == 'string' && width.length > 1 && width.substr( width.length - 1, 1 ) == '%' )
            width = parseInt( window.screen.width * parseInt( width, 10 ) / 100, 10 );

        if ( typeof height == 'string' && height.length > 1 && height.substr( height.length - 1, 1 ) == '%' )
            height = parseInt( window.screen.height * parseInt( height, 10 ) / 100, 10 );

        if ( width < 640 )
            width = 640;

        if ( height < 420 )
            height = 420;

        var top = parseInt( ( window.screen.height - height ) / 2, 10 ),
                left = parseInt( ( window.screen.width  - width ) / 2, 10 );

        options = ( options || 'location=no,menubar=no,toolbar=no,dependent=yes,minimizable=no,modal=yes,alwaysRaised=yes,resizable=yes,scrollbars=yes' ) +
                ',width='  + width +
                ',height=' + height +
                ',top='  + top +
                ',left=' + left;

        var popupWindow = window.open( '', null, options, true );

        // Blocked by a popup blocker.
        if ( !popupWindow )
            return false;

        try
        {
            // Chrome 18 is problematic, but it's not really needed here (#8855).
            var ua = navigator.userAgent.toLowerCase();
            if ( ua.indexOf( ' chrome/18' ) == -1 )
            {
                popupWindow.moveTo( left, top );
                popupWindow.resizeTo( width, height );
            }
            popupWindow.focus();
            popupWindow.location.href = url;
        }
        catch ( e )
        {
            popupWindow = window.open( url, null, options, true );
        }

        return true;
    }


    $(document).ready(
            function() {
                setContentHeight();
                makeInstructionsTogglable();
                window.onbeforeunload = function() {
                    if (editor.isDirty()) {
                        return "Are you sure you want to navigate away? You have unsaved changes."
                    }
                };
            }
    );
    $(window).resize(function() {
        setContentHeight();
    });
于 2012-05-10T19:28:17.517 に答える