14.2瀏覽器的Location和History
.分析URL
從URL中把用&符號分隔的name=value取出
var args = getArgs();
var q = ar.q || "";
var n = args.n ? parseInt(arg.n) : 10 ;
function getArgs () {
var args = new Object();
var query = location.search.substring(1);
var pairs = query.split("&");
for(var i =0;i<=pairs.length;i++)
{
var pos = pairs[i].indexof('=');
if(pos == -1) continue;
var argname = pairs[i].substring(0,pos);
var argvalue = pairs[i].substring(pos+1);
value = decodeURIComponent(value);
args[argname]=value;
}
return args;
}
//有關視窗位置的讀取設定
var windowWidth = window.outerWidth; 瀏覽器的尺寸
var windowHeight = window.outerHeight;
var windowX = window.screenX; 瀏覽器視窗的位置
var windowY = window.screenY;
var viewportWidth = window.innerWidth; HTML 文件顯示所在的視野視窗
var viewportHeight = window.innerHeight;
scrollBy() 把視窗顯示的文件往上下或者左右移動
scrollTo() 把視窗顯示的文件往絕對座標值移動
focus() 兩種用法
1.將視窗拉到最上層 通常是配合 window.open 跳至舊有視窗時,將視窗至頂
2.focus()在可接受鍵盤輸入焦點的文件(如表單欄位和按鈕), 可使視窗捲動至該元素可視。
scrollIntoView() 類似focus的第2種用法 但不限制於表單欄位與按鈕
最實在的捲動方式
在想捲動的地點,先以<a name = XXX> 標籤定義錨點
再以 window.location.hash = "#XXX" 就可跳至定義點
並且能以back回到前一個位置
但這樣做會改變瀏覽歷程
另一種方式是使用
window.location.replace("#XXX")
則只是單純捲動至定名錨點 而不擾亂瀏覽歷程
沒有留言:
張貼留言