![](/img/trans.png)
[英]How do I attach a Javascript event to the mobile Safari back button?
[英]How do I remove a JS file for Mobile Safari using Javascript?
我网站上的Javascript文件之一正在破坏iPad(Mobile Safari)上的显示。 我只想在iPad上删除文件,并将其提供给其他所有浏览器。
我有以下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有效吗? (我的知识有限)
其次-这是最好的方法吗?
如果您不使用php或其他更容易使用的东西,则应该使用另一种方法,如果浏览器不是ipad,则有条件地将文件加载到文档的开头。
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
}
我通过找到有问题的JS函数并添加以下内容来解决此问题:
&& navigator.userAgent.match(/ipad/i) == null
简单就是好
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.