首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Javascript删除Mobile Safari的JS文件?

如何使用Javascript删除Mobile Safari的JS文件?
EN

Stack Overflow用户
提问于 2012-09-20 08:39:02
回答 2查看 366关注 0票数 1

我网站上的一个Javascript文件弄乱了iPad (Mobile Safari)的显示。我只想删除iPad上的文件,并为其他所有浏览器提供服务。

我得到了下面的javascript:

代码语言:javascript
运行
复制
<script type="text/javascript">
<![CDATA[
function removejscssfile(filename, filetype){
 var targetelement=(filetype=="js")? "script" : (filetype=="css")? "link" : "none" //determine element type to create nodelist from
 var targetattr=(filetype=="js")? "src" : (filetype=="css")? "href" : "none" //determine corresponding attribute to test for
 var allsuspects=document.getElementsByTagName(targetelement)
 for (var i=allsuspects.length; i>=0; i--){ //search backwards within nodelist for matching elements to remove
  if (allsuspects[i] && allsuspects[i].getAttribute(targetattr)!=null && allsuspects[i].getAttribute(targetattr).indexOf(filename)!=-1)
   allsuspects[i].parentNode.removeChild(allsuspects[i]) //remove element by calling parentNode.removeChild()
 }
}

if((navigator.userAgent.match(/iPad/i)) 
{
  removejscssfile("somescript.js", "js") //remove all occurences of "somescript.js" on page for ipad 
}
]]
</script>

首先-上面的Javascript是有效的吗?(我的知识有限)

第二,这是最好的方法吗?

EN

回答 2

Stack Overflow用户

发布于 2012-09-20 08:49:17

如果你使用的不是php或者其他更简单的工具,你应该反过来做,如果浏览器不是ipad,你可以有条件地将文件加载到文档的头部。

代码语言:javascript
运行
复制
    function loadjscssfile(filename, filetype) {
            if (filetype == "js") { //if filename is a external JavaScript file

                var fileref = document.createElement('script')
                fileref.setAttribute("type", "text/javascript")
                fileref.setAttribute("src", filename)

            }
            else if (filetype == "css") { //if filename is an external CSS file
                var fileref = document.createElement("link")
                fileref.setAttribute("rel", "stylesheet")
                fileref.setAttribute("type", "text/css")
                fileref.setAttribute("href", filename)
            }
            if (typeof fileref != "undefined")
                document.getElementsByTagName("head")[0].appendChild(fileref)
    }

    var isiPad = navigator.userAgent.match(/iPad/i) != null;

    if (!isiPad) {
        //load js OR css files
    }
票数 0
EN

Stack Overflow用户

发布于 2012-09-21 11:46:25

我修复了这个问题,找到了有问题的JS函数并添加了:

代码语言:javascript
运行
复制
&& navigator.userAgent.match(/ipad/i) == null

简单就是好

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12504731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档