我創建了一個項目,方便內容共享。您可以在此處查看我的項目: SharingProject流星用戶和骨幹非常慢
您可以使用[email protected]和123456作爲密碼將該站點作爲經過驗證的用戶進行測試。當然,該網站還有一些錯誤...
我用流星用戶包和骨幹包瀏覽頁面。 在本地主機上,沒有問題。爲了測試,我將項目上傳到流星服務器。現在,當我登錄並瀏覽頁面時,每當我導航到新頁面時,由於url更改,應用程序會「檢查」客戶端上的用戶。這是令人討厭的...
當然,我可以瀏覽頁面只調用Session.set('page_id',..)但我的目標是能夠發送一個url到服務器上的特定頁面。
的代碼是一個類似於在待辦事項例如,從流星頁:
Meteor.subscribe('pages', function() {
if (!Session.get('page_id')) {
var page = Pages.findOne({}, {sort: {owner: -1}});
if (page)
Router.setPage(page._id);
}
});
...
var PagesRouter = Backbone.Router.extend({
routes: {
":page_id": "main"
},
main: function (page_id) {
Session.set("page_id", page_id);
},
setPage: function (page_id) {
this.navigate(page_id, true);
}
});
Router = new PagesRouter;
Meteor.startup(function() {
Backbone.history.start({pushState: true});
});
爲什麼我在這裏問:我在網上搜索,並不能找到有相同問題的人。所以或者沒有人嘗試過,或者有一個簡單的解決方案呢?
編輯:我如何調用頁面
<template name="pages">
{{#each pages}}
<p><a href="/{{_id}}">{{title}}</a>
{{#if isauthor}}
<a class="delPage" href="javascript:delPage('{{_id}}')">delete</a>
{{/if}}
</p>
{{/each}}
</template>
感謝您的回答。 「應讀」是什麼意思?路由器?我將編輯我的問題,並告訴你我是如何稱呼這些頁面的。如果我打電話給href =「/#{{_ id}}」沒有任何反應......到目前爲止,我讀了一些與骨幹路由器一起工作的例子。問題是:不應該呈現整個頁面,只有內容。所以我決定通過這一行阻止瀏覽器的導航:this.navigate(page_id,true);但它仍然是一樣的?那麼是否有可能通過單擊鏈接來阻止頁面的「重新加載」,但仍然根據url更改會話「page_id」? – dome12b
我覺得'href =「/#{{_ id}}」'應該可以。爲了測試這個理論,我打開了一個頁面,並複製了另一個頁面的鏈接並將其粘貼到地址欄中,然後我手動將#並按下輸入。新頁面未刷新加載。 –
對不起,我通過修改開發工具中的鏈接再次嘗試,它不起作用:( –