1

現在、ディープリンクを実現するために jquery.address プラグインを使用しています。

たとえば、test1.html をロードしたいとします。リンクをクリックすると、アドレス バー /#/test1 に表示されます。ハッシュタグなしで /test1 だけを表示したいです。ユーザーがページをリロードした場合に備えて、PHP を使用します。

これが私のコードです:

JS -

<script type="text/javascript">
/*<![CDATA[*/
$("document").ready(function(){

    function loadURL(url) {
        console.log("loadURL: " + url);
        $("#area").load(url);
    }


    // Event handlers
    $.address.init(function(event) {
        console.log("init: " + $('[rel=address:' + event.value + ']').attr('href'));
    }).change(function(event) {
        $("#area").load($('[rel=address:' + event.value + ']').attr('href'));
        console.log("change");
    })

    $('a').click(function(){
        loadURL($(this).attr('href').replace('', /^#/));
    });

    });

/*]]>*/
</script>

HTML -

<a href="test1.html" rel="address:/test1">Test 1</a> <br />
<a href="test2.html" rel="address:/test2">Test 2</a> <br /> <br /> <br />

Load Area: <br />
<div id="area"></div>

よろしくお願いします。

4

2 に答える 2

0

分割して最後のセクションを見てみませんか?

var urlArray = $(this).attr('href').split('/');
var page = urlArray[urlArray.length - 1];
loadURL(page);
于 2012-05-09T13:50:44.927 に答える
0

文字列.置換

loadURL($(this).attr('href').replace(/^#/, ''));

編集:正規表現で「文字列の始まり」^を意味することに注意してください。これは、文字列内の何にも一致しないことを意味します。を取り除きたい場合は、これを使用する必要があります:"/#/test1"/#/

'/#/test1'.replace(/\/#\//, '');

http://jsfiddle.net/wD7LZ/

于 2012-05-09T13:30:21.093 に答える