如何使用JQ为IE创建对象标签?

时间:2013-06-26 08:21:54

标签: javascript jquery internet-explorer

我需要将<object>标记添加到HTML。它在除IE之外的所有浏览器中都能正常工作,这会引发很多错误,例如:

  • SyntaxError:预期']'
  • 错误:参数无效。
  • TypeError:'currentStyle'为null或不是对象(这是我尝试仅创建没有参数的普通<object>时)

我的代码是:

jQuery('<object/>').attr('type', 'application/x-fb-vlc').append([
    jQuery('<param/>').attr({'name': 'windowless', 'value': 'true'}),
    jQuery('<param/>').attr({'name': 'autoplay', 'value': 'true'}),
    jQuery('<param/>').attr({'name': 'bgcolor', 'value': '#999999'}),
    jQuery('<param/>').attr({'name': 'network-caching', 'value': '1000'}),
    jQuery('<param/>').attr({'name': 'adjust-filter', 'value': 'true'}),
    jQuery('<param/>').attr({'name': 'marquee-filter', 'value': 'true'}),
    jQuery('<param/>').attr({'name': 'logo-filter', 'value': 'true'}),
    jQuery('<param/>').attr({'name': 'native-scaling', 'value': 'true'}),
    jQuery('<param/>').attr({
        'name': 'src', 
        'value': 'http://' + response.server + '&_=' + (new Date().getTime())
    })
]).appendTo(camera_div);

我还尝试了其他方法,例如append等等。

除普通HTML外,是否有任何解决方案可以添加?

1 个答案:

答案 0 :(得分:0)

我只是简单地将你的代码复制粘贴在一些变化中。它没有抛出任何错误。

jQuery('<object/>').attr('type', 'application/x-fb-vlc').append([
jQuery('<param/>').attr({'name': 'windowless', 'value': 'true'}),
jQuery('<param/>').attr({'name': 'autoplay', 'value': 'true'}),
jQuery('<param/>').attr({'name': 'bgcolor', 'value': '#999999'}),
jQuery('<param/>').attr({'name': 'network-caching', 'value': '1000'}),
jQuery('<param/>').attr({'name': 'adjust-filter', 'value': 'true'}),
jQuery('<param/>').attr({'name': 'marquee-filter', 'value': 'true'}),
jQuery('<param/>').attr({'name': 'logo-filter', 'value': 'true'}),
jQuery('<param/>').attr({'name': 'native-scaling', 'value': 'true'}),
jQuery('<param/>').attr({
    'name': 'src', 
    'value': ''
})
]).appendTo("#camera_div");

请查看我的 Fiddle 。我正在使用IE 9。