Ошибка JavaScript в Internet Explorer - PullRequest
       1

Ошибка JavaScript в Internet Explorer

0 голосов
/ 27 февраля 2011

У меня проблема со скриптом js, работающим в Internet Explorer.

В основном сценарий отлично работает в Firefox, но мне нужно встроить его в элемент управления webbrowser в приложении silverlight, для которого он должен работать без ошибок в движке Internet Explorer.

Запуск его в IE приводит к ошибке «Ожидаемый объект» в следующей строке:

$ f ("player", "player.swf", {

Как это можно переписать, чтобы оно также работало в IE?

Вот полный скрипт:

      $f("player", "player.swf", {
                key: '#@18a1aaa6552d45a2cfe',
                log: { level: 'debug', filter: 'org.flowplayer.cluster.*' },
            clip: {
            url: 'live3',
            live: true,
            provider: 'rtmp',
            autoBuffer:true,
            bufferLength:10,
            scale:'fit',
            connectionProvider: 'cluster',
            onStart: function(clip){ }
        },
        canvas: {backgroundImage: 'url(staytuned.jpg)'},
        onError:function(err){canvas: {backgroundImage: 'url(taytuned.jpg)'}},
        contextMenu: [  
                'player 1.1',
                {'About  ...' : function() {
                            location.href = "url/?page=aboutus";}},
                {'Contact ...' : function() {
                            location.href = "url/?page=contactus";}},
                {'More Casts ...' : function() {
                            location.href = "url/?page=casts";}},
                        ],
        plugins: {
            overlay:  {
                url: 'overlay.swf',
                    top: 0,
                    right: 0,
                    width: 854,
                    height:450,
                    zIndex:3
                },
                rtmp: {
                url: 'rtmp.swf'
                },  
            cluster: {
                url: 'cluster.swf',
                netConnectionUrl: 'url',
                hosts: [
                    {host:'url'},
                    {host:'url'}
                    ]
                },
            controls: {
                autoHide: false, 
                url:'url',
                zIndex:5
                },

    gatracker: {
        url: "analytics.swf",
        trackingMode: "Bridge",
        bridgeObject: "pageTracker"
    }
}

});

Спасибо, Андрей

Ответы [ 2 ]

1 голос
/ 27 февраля 2011

Первый ответ был неверным. Подробности смотрите в комментариях.

Редактировать

Возможно, проблема в том, что $ f не определено в тот момент, когда вы пытаетесь его вызвать. Поместите alert(typeof $f); в строку непосредственно перед строкой, вызывающей ошибку. Если это не насторожит function, то я прав.

Убедитесь, что вы включаете скрипт, содержащий определение для $ f, прежде чем пытаться вызвать его.

0 голосов
/ 28 февраля 2011

Перейти на www.jslint.com. Вставьте весь этот скрипт в верхнее окно и нажмите кнопку «jslint» под ним.

Вы обнаружите, что onError искажен:

onError:function(err){canvas: {backgroundImage: 'url(taytuned.jpg)'}},

это должно читать больше как:

onError:function(err) {
   var canvas = {backgroundImage: 'url(taytuned.jpg)'};
   return canvas;
},

Есть похожая проблема в нескольких строках ниже.

И я подозреваю, что "taytuned.jpg" нужно заключать в кавычки, но это не мой сценарий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...