【问题标题】:<AppleWebKit Browser> Setting of data attribute in object tag does not load the resource<AppleWebKit Browser> 对象标签中数据属性的设置不加载资源
【发布时间】:2011-12-20 11:31:26
【问题描述】:

在基于 AppleWebKit 的浏览器中,观察到更改 HTMLObjectElement(对象标记)的数据属性不会导致将 HTTP 请求发送到 url 并加载资源。 这在 FireFox 和 Chrome 中效果很好,但在 Safari 和其他 AppleWebKit 浏览器中效果不佳 以下是我的代码。请提出解决方案如何动态设置对象标签中的数据

   <html>
     <head>
          <script type="text/javascript">
            window.onload = function(){
              c= document.getElementById('test');
              c.setAttributeNS(null,'data','http://myserver.com/SVG/MyImage.svg');
            }
         </script>
     </head>
     <body>
          <object id="test" data="" type="image/svg+xml" width="320" height="240" />
     </body>
  </html>

【问题讨论】:

  • 如果您直接将c.data 设置为该字符串,而不使用“setAttributeNS()”会发生什么?
  • setAttribute('data','&lt;url'); 工作吗?
  • Raks(或任何人),您找到解决此问题的方法了吗? 8年后我们有同样的问题!我们发现与上述类似的动态加载的对象标签不会在 Safari / IoS Chrome(实际上是 webkit)中始终加载。 Windows 或 IoS 上的 Chrome 将完美地加载上述代码。

标签: javascript html safari webkit


【解决方案1】:

属性是跨浏览器的噩梦,见这里-> http://www.quirksmode.org/dom/w3c_core.html#attributes

jQuery 通过跨浏览器实现它 -> http://api.jquery.com/attr/

【讨论】:

  • 即使使用 jquery,它也不适用于 Safari,但适用于 Chrome 和 FireFox
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-15
相关资源
最近更新 更多