2016-02-18 87 views
0

訪問本地Notes數據庫我在網絡服務器上運行我的應用程序: http://myhost.com/mydatabase.nsf/Home.xsp如何從Web瀏覽器

在回家的網頁我點擊我想要的訪問本地names.nsf但不myhost.com一個有一個按鈕。

這些線路故障:

var namesDB:NotesDatabase = session.getDatabase("", "C:\notes\data\names.nsf"); 
var namesDB:NotesDatabase = session.getDatabase("Local", "C:\notes\data\names.nsf"); 

此行返回myhost.com Domino數據庫:

var namesDB:NotesDatabase = session.getDatabase(null, "names.nsf"); 

是還有其他方法來打開NSF文件是本地PC上?

+0

爲什麼不在同一臺機器上安裝服務器,將nsf放在它上面並通過127.0.0.1訪問它? –

回答

1

據我所知,你正在嘗試的是不可能的。您的XPage代碼正在服務器上運行 - 您可能會在PC上的瀏覽器中看到輸出,但服務器上正在運行任何SSJS代碼。所以它不知道你的本地names.nsf在哪裏。這就像創建一個計劃代理在服務器上運行並訪問您的本地names.nsf - 它不知道您的PC在哪裏。

CSJS將在您的PC上運行,因此會知道您的names.nsf位於哪裏,但無法打開NSF。

在郵件首選項中,可以將聯繫人同步到您的郵件文件,這需要能夠在iNotes中訪問它們。如果你這樣做,你可以看看你的郵件文件。這可能是最好的選擇。

+2

保羅和傑西是對的。然而,您可以使用href屬性並指向notes:///names.nsf(是的,這是3個斜槓),它將在您的Notes客戶端打開本地names.nsf ;-)除非您使用地址同步,Paul的想法是合理的在地址簿的其他部分 – stwissel

+0

謝謝stwissel ..至少這是一個選項,強制在Notes客戶端通過單擊xPages上的按鈕打開names.nsf ..我只是認爲有一種方法來與本地進行交互只通過傳遞文件路徑通過xPages文件 – VladP

2

在這種情況下,服務器上運行的XPage不知道客戶端計算機,代碼完全在服務器上運行。因此,除了一個特定的公司設置,您可以使用請求機器的名稱來執行文件系統引用(我不建議這麼做),它完全不同。

儘管如此,您可以在XPiNC中運行該應用程序 - 如果您願意忍受那裏的所有折衷,那麼XPages將在本地計算機上以與正常Notes應用程序相當的方式執行。

順便說一句(這與服務器/客戶端的障礙無關),我認爲這些字符串會有自己的問題:JavaScript字符串中的反斜槓是一個轉義字符,因此您必須將它們翻倍作爲單個反斜線來解析,如"c:\\notes..."