磕磕碰碰的Chrome之plugin開發

2022-02-07 13:49:11 字數 1987 閱讀 6381

在firefox下可用的npapi外掛程式,在chrome下呼叫時遇到問題,於是嘗試研究chrome下的ppapi外掛程式,一路上真是磕磕碰碰,波折不斷啊。

嘗試將npapi直接用在chrome中,結果在chrome://plugins頁下能看到npapi的外掛程式,除錯時看到外掛程式物件被建立了,但是無法呼叫外掛程式物件的函式。

之後各種嘗試未果,網上一搜貌似2023年的時候chrome就開始逐漸不支援npapi了,於是只有嘗試ppapi。。。

建簡單的ppapi dll專案,執行命令chrome --register-pepper-plugins="g:\\example.dll#ppexample##1.0.0;a

pplication/x-ppapi-example" file:///g:/web/index.html開啟chrome,外掛程式可用,可惜直接開啟chrome,外掛程式不可用,且在chrome://plugins頁下找不到外掛程式。

雖然在官方說明中看到了這個命令列是除錯用的,但是找了一圈也沒找到發布的命令,鬱悶壞了。。。

然後各種嘗試,在chrome://plugins頁下找已存在的ppapi外掛程式,然後在登錄檔中找可能註冊的位置,結果搜尋一圈都沒找到!!!

最後看到在網上看到有老外說發布不能直接發布ppapi,要發布成nacl!不知道為啥還能在chrome://plugins頁下找已存在的ppapi外掛程式呢?

1.越獄

不越獄你休想訪問google的資源,這點真讓人鬱悶:(

3.更新

cmd中進入sdk目錄下,輸入naclsdk list執行完後再輸入naclsdk update,偶這個版本都到pepper37了。

5.配置引數

進入系統環境變數

path中加入python安裝目錄如"c:\python27;"

新建變數nacl_sdk_root,值為nacl_sdk的pepper路徑如"c:\nacl_sdk\pepper_37\"

6.編譯專案

cmd下進入c:\nacl_sdk\pepper_37\getting_started下,輸入make可進行編譯,輸入make serve可編譯並啟動python伺服器,

7.配置chrome

進入chrome的chrome://flags/下啟用native client。

進入開發者工具下面點選右邊的設定按鈕,在general tab下選擇disable cache。

8.檢視效果

需要注意的是nacl只能在伺服器環境下檢視效果,也就是說你沒法像別的瀏覽器一樣,直接輸入,file:\\\c:\index.html開啟頁面就能看到效果,而必須在伺服器環境下檢視效果。

按nacl sdk的設定,直接用命令make serve就能啟動伺服器,然後輸入http://localhost:5103檢視效果

我的機子環境比較鬱悶,每次cmd都顯示成功啟動了伺服器,但是只要輸入http://localhost:5103,都提示httpd.py一堆錯誤,估計是我的python版本和httpd.py不相容吧,因為我對python不大熟悉,我也懶得折騰這個問題了,直接把build好的東西放到乙個伺服器下,就能看效果了。

走的這一步就算是nacl新手上路了,但是這個還沒完,更鬱悶的是下一階段

因為我想要做的應用,是想能夠訪問windows系統下的碟符的,在npapi中,我呼叫了findfirstvolume等windows函式。鬱悶的是將這函式轉移到nacl中又是遇到重重問題:

1.先是make的時候提示沒有找到定義,這個好辦,在makefile中用-i將vs的標頭檔案路徑都給加上

2.接著再make,各種錯誤一大堆,無法識別的int64__等等型別、only win32 targets supported!等,找了一圈也沒找到解決的辦法。可能可以通過-target和-arch引數的配置來解決,但是沒找到正確的配置方法

3.接著只有嘗試找nacl_sdk自帶的一些函式庫,找了一圈,倒是找到獲取資料夾下檔案的函式了,就是沒找到獲取碟符內容的函式。。。

4.想找不用windows函式的替代函式,可惜沒找到:(

5.爬上來發個帖子,看有沒有人有辦法!!!

乙個ERP系統的磕磕碰碰

歷時5個月的開發,終於可以交付使用了。在這期間系統從需求分析 系統架構設計 開發 測試 執行 迭代 交付,整個忐忑波盪的一路走來,終於有時間靜下心來寫一篇總結跟各位博友一起 學習了。如果對大家有幫助了希望大家點下支援,推薦。隨著資訊化的發展 這東西發展真快 相信大家或企業越來越意識到企業內部資訊化建...

Chrome與之驅動對應的版本

看到網上基本沒有最新的chromedriver與chrome的對應關係表,便興起整理了乙份如下,希望對大家有用 chromedriver版本 支援的chrome版本 v2.46 v71 73 v2.45 v70 72 v2.44 v69 71 v2.43 v69 71 v2.42 v68 70 v2...

Chrome筆記之如何檢視本地儲存的密碼

有時候在 註冊了賬號,但是沒有儲存密碼什麼的,後來就把密碼忘記了,只好找回密碼了,又是簡訊驗證又是郵箱驗證的搞得很麻煩,如果chrome有幫我們記住密碼的話我們自己就可以很方便的將密碼找回而不必進行一大坨驗證加重置密碼。比如我在v2ex的密碼我就忘記了,但是瀏覽器知道,在登入的時候它會自動幫我填寫 ...