2012-04-29 7 views
1

私はmobileesp.comから得たmdetect.jsを使用しています。このファイルは必要なものに完璧に見えるので、ローカルに保存しました。私のHTMLページでは、関数のうちの1つを呼びたいと思います。本当に返された場合(つまり、ユーザーがモバイルデバイス上にある場合)、ページの上部に、現時点でモバイルデバイスをサポートしていないという表が表示されます。しかし、そこに行く前に私はすでに失敗しました:なぜ私のjavascriptがモバイルデバイスを検出できないのですか?

<html> 
<head> 
<script type="text/javascript" src="mdetect.js"></script> 
</head> 
<body> 
<h1>header 1</h1> 
<script type="text/javascript"> 
document.write(DetectIphoneOrIpod()); 
</script> 
<p>this is normal body text</p> 
</body> 
</html> 

私は間違って何をしていますか?私は複雑なものにも慣れていない(私にとっては少なくとも)。なぜ関数から返されるものに応じてtrueまたはfalseを書かないのでしょうか?どんな助けもありがとうございます。

おかげ

+0

これはわかりますが、あなたの関数名が正しいことを確認してください。 JavaScriptは通常camelcasedで、最初の単語は小文字です。 – diracdeltafunk

+0

私はトリプルチェックをしたことを誓います。参照:[mdetect script](http://code.google.com/p/mobileesp/source/browse/JavaScript/mdetect.js) –

+0

document.writeを削除して、その関数だけを呼び出してみてください。 – UVM

答えて

0

は、私はあなたが何をしたいと思います。このようなものです::ここではまた、デバッグを容易にする必要があります下にトリミングされたバージョンがあります、あなたはおそらく使用したい、

<html> 
<head> 
<script type="text/javascript" src="mdetect.js"></script> 
</head> 
<body> 
<h1>header 1</h1> 
<script type="text/javascript"> 
    if (DetectIphoneOrIpod()) { 
     document.write("<table>...</table>"); 
    } 
</script> 
<p>this is normal body text</p> 
</body> 
</html> 

しかしDetectSmartphone()またはDetectMobileQuick() iPhoneやiPod touchだけでなく、より多くのモバイルデバイスを検出する機能を備えています。

+0

「false」のチェックをどのようにしてデスクトップのブラウザでテストできますか? (申し訳ありませんが、私の最初のJSプロジェクトです。)私はまだdocument.write(function())を取得することはできません。何をするにも。 –

+0

if(!DetectIphoneOrIpod())は、デスクトップ上でテストする必要があります。感嘆符の追加に注意してください! – mttrb

+0

私は愚かな色をしています...それはすべて、mdetect.jsのほんのfubarバージョンのものでした。私が再ダウンロードしたとき、すべてがうまくいきました。お待ち頂きまして、ありがとうございます!あなたのコードは完全に機能しました。 –

0

私は問題があるかわからない、しかし、あなたはちょうどその機能のためにそのファイル全体を使用している場合、それはやり過ぎだ。

function isSmallIDevice() { 
    return navigator.userAgent.search(/iPhone|iPod/i) > -1; 
} 
+0

iPhoneとiPod Touchは、唯一のモバイルデバイスではありません! – mttrb

+0

@mttrb:私は知っています。私はファイルから直接関数をスリム化していました。 – icktoofay

+0

ええ、私は今OPはDetectIPhoneOrIpod関数を使用していただけです。 – mttrb

関連する問題