我創建了自己的InDesign插件,並且需要連接到我創建的另一個Web應用程序。我嘗試過使用socket.io,但我不想擁有另一臺服務器,所以我已經傳給了Peer JS,通過這種方式,我有一個可以完美工作的點對點系統,但遇到了一些意想不到的問題。
我正在使用Adobe InDesign CC,它使用CEP5,它支持谷歌瀏覽器BROWSER(CEF(Chromium extended framework))。
在Docs中,據說CEP5甚至支持WebRTC,但是當我嘗試與peerjs(使用WebRTC)連接到另一個peer時,我得到:「TypeError:undefined不是函數」,在進一步調查中發現這個錯誤是由Object.Negotiator._startPeerConnection引發的,但我不明白我在弄錯什麼......
我試過在另一個應用程序中使用相同的PEER JS代碼(只是一個普通的網站)並連接到同一個peer並且成功了,所以我猜測問題在於InDesign提供的WebRTC支持。
我不僅僅限於使用PEER JS,我只是希望我的Adobe插件和我的網站以最智能的方式進行通信,因此任何想法都是值得歡迎的,但這是我插件的代碼片段連接到PEERJS
var peer = new Peer({key: mySecretKey});
var conn = peer.connect('editor-vaComeVibraEEE');//the exception is generated here
conn.on('open', function(){
conn.send('hi!');
});
感謝您的幫助......。 。 。
你能驗證navigator.webkitGetUserMedia和webkitRTCPeerConnection存在嗎?你還可以分享peerjs日誌嗎?還是完整的堆棧跟蹤? – 2015-01-21 11:18:57
好的,如果我做了一個alert(typeof navigator.webkitGetUserMedia)'inmy InDesign PlugIn我得到undefinied,如果我在我的測試應用程序中使用chrome,我得到一個函數對象。 – 2015-01-21 11:23:56
你可以用navigator.getUserMedia做同樣的事嗎?如果它也未定義,那麼就沒有WebRTC支持。也許它應該通過切換一些InDesign標誌顯式啓用? – 2015-01-21 11:28:30