2016-07-25 4 views
0

HTML кодwindow.location.hash URL разница записи и тег

<div class="fakeSearch"> 
    <input id="searchInput" type="text" placeholder="Search"> 
    <img id="searchImg" class="clickAble" src="./img/search.png"> 
</div> 

сценарий

window.addEventListener("hashchange", ChangePage); 

$('#searchImg').on('click', function(){ 
    var word = decodeURIComponent($('#searchInput').val()); 
    window.location.hash = '#search:'+word; 
}); 

var ChangePage = function(){ 
    var myUrl = window.location.hash; 
    var argStr = myUrl.split("\\"); 
    argStr = argStr[0].split(":"); 
    argStr[0] = argStr[0].replace("#", ""); 

    $('#mainPlace > div').css('display','none'); 

    if(myUrl === ""){} 
    ... 
    else if(argStr[0]==='search'){ 
    $('#searchPage').css('display','block'); 
    InitLoadSearch(decodeURIComponent(argStr[1])); 
    } 
} 

var InitLoadSearch = function(){ 
    /* call ajax data and print masonry */ 
} 

работы при записи прямой набрав URL #search: 123
но окно. location.hash = '#search:' + word код не работает.
более правильно, страница по умолчанию - кладка.
* кладка - я использую http://masonry.desandro.com/
также поиск страница кладка страница.
сетка на странице по умолчанию является перерывом. (Сброс позиции), когда поиск и нажмите кнопку назад нажмите
перерыв только андроида мобильного хрома
каждую сеткой является другими определить.

дополнительно

<a href="#search:code"></a> 

это нормальная работа! только

window.location.hash = "#search:"+variable; 

есть лот.

в заключение, я знаю, разница записи URL, тег HREF и window.location.hash

+0

тег является https://www.w3.org/TR/html4/struct/links.html#adef-href Я хочу знать window.location! T^T ... в каждом браузере (SpiderMonkey, Rhino ... и т. Д.) Или ECMA – Integral

ответ

0

К сожалению, вы трудно понять.

Я пробовал ваш код в скрипке: https://jsfiddle.net/3ouLyxds/ и, похоже, работает. Я только изменил порядок кода, или он не будет работать на всех:

var ChangePage = function(){ 

    var myUrl = window.location.hash; 
    var argStr = myUrl.split("\\"); 
    argStr = argStr[0].split(":"); 
    argStr[0] = argStr[0].replace("#", ""); 

    $('#mainPlace > div').css('display','none'); 

if(argStr[0]==='search'){ 
    $('#searchPage').css('display','block'); 
    InitLoadSearch(decodeURIComponent(argStr[1])); 
    } 
} 

var InitLoadSearch = function(str){ 
    alert(str); 
} 

window.addEventListener("hashchange", ChangePage); 

$('#searchImg').on('click', function(){ 
    var word = decodeURIComponent($('#searchInput').val()); 
    window.location.hash = '#search:'+word; 
}); 
+0

Спасибо! кладка перерыв в мобильном хром (при использовании скрипта - окно открыто, местоположение href, местоположение хеш и т. д.)
только нормальный работа когда . то я хочу знать разницу скрипт url и html tag url – Integral