Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态追加的OnLoad事件未触发<;风格>;在iPad上_Javascript_Ios_Ipad_Onload - Fatal编程技术网

Javascript 动态追加的OnLoad事件未触发<;风格>;在iPad上

Javascript 动态追加的OnLoad事件未触发<;风格>;在iPad上,javascript,ios,ipad,onload,Javascript,Ios,Ipad,Onload,有人知道为什么在以下情况下,onload事件不会在iPad上触发吗?我尝试过使用jQuery$.load()和纯javascript,但仍然没有效果。我的google fu不足以找到答案:( 演示:我知道FireFox和Safari没有链接样式表的加载事件,所以iOS Safari可能也没有。我个人通过对样式表发出ajax请求,然后将响应放在标记中来解决这个问题 我已经更新了您的JSFIDLE: 如果有兴趣的话,这里是为那些不依赖jQuery的人准备的香草js:Thank Regis!:)我认为

有人知道为什么在以下情况下,onload事件不会在iPad上触发吗?我尝试过使用jQuery$.load()和纯javascript,但仍然没有效果。我的google fu不足以找到答案:(


演示:

我知道FireFox和Safari没有链接样式表的
加载事件,所以iOS Safari可能也没有。我个人通过对样式表发出ajax请求,然后将响应放在
标记中来解决这个问题

我已经更新了您的JSFIDLE:


如果有兴趣的话,这里是为那些不依赖jQuery的人准备的香草js:Thank Regis!:)我认为现在可以这样做,因为我们正在从同一个域加载样式表,但我们也在考虑将其中一些样式表移动到另一个域,然后我们会再次遇到同样的问题:(
var head = document.head || document.getElementsByTagName('head')[0];
var linkEl = document.createElement('link');
linkEl.type = 'text/css';
linkEl.rel = 'stylesheet';
linkEl.href = "my_stylesheet.css"; 

// This doesn't work on ipad
linkEl.onload = function() {
    alert('css is loaded');
}

head.appendChild(linkEl);
function loadCss(src, callback){
    jQuery.ajax({
        url: src,
        success: function(response){
          // Create Stylesheet
          var style = document.createElement('style');
          style.type = 'text/css';
          style.media = 'screen';
          if(style.styleSheet){
            style.styleSheet.cssText = response;
          }else{
            style.appendChild(document.createTextNode(response));
          }
          document.head.appendChild(style);
          callback && callback();
        }
    });
}
loadCss('/css/normalize.css', function(){ alert('loaded!'); });