0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

IE専用サイトをsafari対応するメモ

Last updated at Posted at 2014-03-23

##テキストの全選択

$('#sample').focus(function(){
  $(this).focus();
  $(this).select();
});

select()の代わりに、selectionStart,Endを使う。

$('#sample').focus(function(){
  $(this).focus();
  $(this)[0].selectionStart=0;
  $(this)[0].selectionEnd=999;
});

##スクロールが変?
div内部のスクロール要素がガクガクする場合

-webkit-overflow-scrolling:touch;

を入れる。

##フルスクリーン

ホームに置いてフルスクリーン化するときは入れておく。

<meta name=”apple-mobile-web-app-capable” content=”yes”>

ホームに置くとフォーカスの制御ができるようになるっぽい。
iOSのMobile Safari上でのfocus()が妙な件を調べてみた

Aタグがあるとsafariに飛ばされてしまうので、AタグはJavascriptにしてしまわないといけない。

        $('a').click(function(){
            location.href = $(this).attr('href');
            return false;
        });

iOSでウェブサイトをフルスクリーン表示させる

全画面化している画面操作中にホームボタンを押してしまうと戻れない。どうしたらいいんだろうか。

##ユーザエージェント判別

ユーザエージェント条件分岐便利スニペット

if(_ua.Webkit && _ua.Mobile){
  alert('モバイルサファリですよねー');
}

##画面の縦横変更

jQueryでiPhone/iPadの向きを検出する

$(window).bind("load orientationchange",function(){
		if(Math.abs(window.orientation) === 90){
			//横向き
			$('#contents').height(500);
		}else{
			//縦向き
			$('#contents').height(1000);
		}
	})

##未解決の問題
###画面の描画がおかしいことがある

[↑に出てるよく似た現象の画像](https://discussions.apple.com/servlet/JiveServlet/downloadImage/2-19091724-139989/450-281/safari issue [mountain lion].jpg)

<meta name="viewport" content="width=1000"> 

とすることで一部改善した。
ホームに登録してフルスクリーン状態にしなければ、画面の一部が白くなる現象は発生しない模様。

###入力制限

Javascriptのキーダウンイベントで数字と矢印だけとかやってたけど、ソフトウェアキーボードから@や(などが入力できる。

###clickイベントがもっさりする。

fastclick.jsを入れるとよいというのを見かけて入れてみたが、タップ位置が入れる前よりもずれてしまう感じ。保留。

##asp.netのとき

###ラベルが普通のテキスト入力エリアに見える。

Web.configにbrowserCapsを追加するそうな。

document.Form1.elements("XXX").valueが動かない?

document.getElementById("XXX").value
document.Form1.elements["XXX"].value

置き換えるならgetElementsByIdが楽そうだけど。どうなんだろこれ。

###ソフトウェアキーボードを数字モードに

<input type="tel">
<input type="text" pattern="[0-9]*">

みたいな設定だと、数字が初期状態で出てくる。

###documentのclickイベントが反応しない。

$('#contents').click(function(e) {
  return false;
});

なにか子要素にclickイベントを張っておくとよいらしい。

##selectのonchangeでalertやconfirmを出すと固まる。

##ソフトウェアキーボードでの確定・開くの制御
IEだとenterで次のフィールドへ移るなどやってる部分。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?