我需要爲project of mine這樣做(雖然不是編譯器)。它必須下載並處理一個給定URL的資源,並將其格式化爲可以在kindle上閱讀的格式。它與你的不完全相似,因爲我有一個瀏覽器插件(而不是網頁),它觸發了操作,甚至不允許「離開」瀏覽器。
最後,我被迫寫了一個在客戶端運行的小應用程序,插件將URL提交併處理。
的設置是這樣的
browser plugin (via ajax) <------> web app on client ----> compiler/etc.
瀏覽器發送的代碼段(在你的情況,在我的URL)發送到Web應用程序,在本地機器監聽某個端口上運行(比如9999
)。它可以訪問本地資源,因此可以實際運行代碼,然後將某些內容返回給可以呈現它的瀏覽器。
在我的情況下,瀏覽器發送一個JSON字符串到只包含一個URL的Web應用程序。 Web應用程序獲取資源,對其進行處理並將其轉換爲kindle可以讀取的.mobi
文件,然後將其放入目錄中。轉換結果(成功/失敗)和轉換文件的位置將發送回瀏覽器,通知您已完成。
我不認爲你可以編寫一個直接訪問編譯器的插件。它必須與本地應用進行通信。非技術用戶的設置非常複雜(查看我的項目上的自述文件),但它工作正常。
Python解釋器在服務器端 http://www.udacity.com/view#Course/cs262/CourseRev/apr2012/Unit/3001/Nugget/47004 – SRN
作爲攻擊者,我會對你可以這樣做,因爲我可以粘貼一個任意代碼並讓它在客戶端編譯並運行,而不受任何限制。 – nhahtdh
這個想法是,學生是唯一一個有權訪問文檔欄的老師,它不是一個公開的論壇,任何人都可以發佈任何內容,並且它可以運行在每個人的電腦上。我明白,涉及到很多潛在的安全風險,但我認爲如果創建得當,它將沒有更多的風險,即與svn鏈接的ide。 – user1473696