0

私は自分のウェブサイトに取り組んでおり、localhost WAMP サーバーでテストしています。スライドする Facebook のようなボックスを表示するためのホームページに JavaScript を含めました (mootools フレームワークを使用)。javascript は、Chrome、Firefox、IE9 で正常に動作しています。しかし、Opera でスライド ボックスが表示されません。

javascript フォルダー (設定 -> コンテンツ -> Javascript オプション) を追加した後、エラーをデバッグしようとしましたが、次のエラーが表示されます。(JavaScript ファイルをローカル ドライブから Opera コンテンツ拡張に含めると、スライドする Facebook のようなボックスが表示されますが、それでも問題がわかりません。)

Uncaught exception: TypeError: Cannot convert 'm' to object
Error thrown at line 1, column 47082 in <anonymous function: bottom>(n, m) in http://ajax.googleapis.com/ajax/libs/mootools/1.2.5/mootools-yui-compressed.js:
    m.appendChild(n);
called from line 1, column 51362 in <anonymous function: inject>(n, m) in http://ajax.googleapis.com/ajax/libs/mootools/1.2.5/mootools-yui-compressed.js:
    a[m||"bottom"](this,document.id(n,true));
called from line 19, column 1 in <anonymous function: FBSideLike.init>() in http://localhost/Demola_Template/media/js/fb-sidelike.js:
    var box = new Element('div', {

これは私のjavascriptのようで、mootools-yui-compressed.jsを呼び出しています

var FBSideLike = {};

FBSideLike.init = function() {

    var scr = $$('script[fbpage]');

    if (scr.length == 1) {
        scr = scr[0];
        var fbpage = scr.get('fbpage');
    } else {
        return;
    }

    var border = scr.get('bordercolor') || '3b5997';
    var image  = scr.get('image') || 'plain';
    var base   = scr.get('src').replace('fb-sidelike.js', '');

    var box = new Element('div', {
        id: 'fb-side-like',
        styles: {
            backgroundImage: 'url(' + base + 'fb-sidebar-' + image + '.png)',
            backgroundRepeat: 'no-repeat',
            position: 'fixed',
            top: '12%',
            right: -292,
            width: 322,
            height: 200
        }
    }).inject(document.body);

    var like = new Element('div', {
        styles: {
            position: 'absolute',
            left: 30,
            width: 292,
            height: 480,
            background: '#FFF'
        }
    }).inject(box);

    var toggle = function(dir) {
        box.tween('right', dir < 0 ? -1 : -292);
    }

    like.set('html', '<iframe src="//www.facebook.com/plugins/likebox.php?href=http%3A%2F%2Fwww.facebook.com%2F'
                    + fbpage
                    + '&amp;width=292&amp;height=480&amp;colorscheme=light&amp;show_faces=true&amp;border_color=grey'
                    + border
                    + '&amp;stream=true&amp;header=false&amp;appId=************"'
                    + 'scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:292px; height:480px;" allowTransparency="true"></iframe>');

    box.set('tween', {
        duration: 550,
        transition: Fx.Transitions.Pow.easeInOut
    }).addEvents({
        'mouseenter': function() { toggle(-1); },
        'mouseleave': function() { toggle(1); }
    });
}

if (typeof(MooTools) == 'undefined') {
    (function() {
        var mt = document.createElement("script");
        mt.type = "text/javascript";
        mt.src = ("https:" == document.location.protocol ? "https" : "http") + "://ajax.googleapis.com/ajax/libs/mootools/1.2.5/mootools-yui-compressed.js";
        mt.async = true;
        mt.onload = FBSideLike.init;
        var s = document.getElementsByTagName("script")[0];
        s.parentNode.insertBefore(mt, s);
    })();
} else {
    window.addEvent('load', FBSideLike.init);
}

私のホームページにjavascriptを含めました

<script type="text/javascript" src="media/js/fb-sidelike.js" fbpage='*******'></script>

エラー メッセージを見ると、mootools-yui-compressed.js javascript ファイルに問題があるようです。ただし、他のすべてのブラウザでは問題なく動作しているため、何が問題なのかわかりません。これはブラウザ固有の問題ですか、それとも何か不足していますか。

4

0 に答える 0