-webkit-transform:scale(1)で、position:fixedが効かなくなる

スマホのChromeだけ文字サイズが大きくなってしまう場合の対処方法で、

document.body.style.webkitTransform = 'scale(1)';// chromeの文字サイズ対策

をjsで設定すると直るみたいなんですが、これを行ったところ、position:fixed;で指定した位置に表示されなくなってしまった。
なぜか、iPadのPortraitで、横スクロールがでてコンテンツがはみ出してしまっている状態にもなりました。

いろいろ試した結果、jsの記述をやめて「width=device-width」だけにしたところ、fixedと文字サイズが解決しました。

ie8でforEach

// forEach実装(lte ie8)
if ( !Array.prototype.forEach ) {
	Array.prototype.forEach = function( callback, thisArg ) {
		var T, k;
		if ( this == null ) {
			throw new TypeError( " this is null or not defined" );
		}
		var O = Object(this);
		var len = O.length >>> 0;
		if ( {}.toString.call(callback) != "[object Function]" ) {
			throw new TypeError( callback + " is not a function" );
		}
		if ( thisArg ) {
			T = thisArg;
		}
		k = 0;
		while( k < len ) {
			var kValue;
			if ( k in O ) {
				kValue = O[ k ];
				callback.call( T, kValue, k, O );
			}
			k++;
		}
	};
}

を記述しておくと使えるようになる。
jQueryのmapなどで処理してしまうのもあり?