0

CSS スワップ用のスタイルシート要素を取得する JS 関数があります。IPHONE またはデスクトップ バージョンの Chrome と Safari でページを実行すると、css を正常に交換できます。

私の問題はAndroidブラウザにあります

if (a.getAttribute("rel").indexOf("style") != -1) {

私のコードからFALSEを返します。

オンのようです

Android Web ブラウザーa.getAttribute("rel))" : stylesheet 要素が存在しません。

この動作の理由と解決方法はありますか?

// Swap CSS
changeStyle: function(state) {       
    var i, a, url, i = 0;
    for (i; (a = document.getElementsByTagName("link")[i]); i++) {
        if (a.getAttribute("rel").indexOf("style") != -1) {
            url = a.href;
            if (state == 'accessible') {
                a.href = 'resources/css/app-accesibility.css';;
            }
            else if (state == 'normal') {
                a.href = 'resources/css/app.css';
            }
        }

    }

}
4

1 に答える 1

1

プラグインなどによって、Android の head に他のリンク要素が追加されている可能性があります。relアクセスする前に、属性が存在することを確認してください。

if (a.getAttribute("rel") && a.getAttribute("rel").indexOf("style") != -1) {
于 2013-03-11T09:05:34.523 に答える