2016-01-21 27 views
0

如果我在幾個不同的網站上有JS腳本,是否可以啓用或禁用特定站點的腳本執行?如果這是不可能的,歡迎其他實施建議。有沒有辦法啓用/禁用特定網站的特定JS腳本執行?

下面是應用程序: 我有一個腳本標記與我的JS源代碼鏈接,網站所有者可以將其放在他們的網站上,以啓用與我的服務互動。但是,我希望能夠啓用/禁用特定站點的服務,以便在準備就緒之前不要部署它。

注意:腳本標籤還包含站點驗證信息,以便在準備部署之前將其放到站點上。這節省了放入站點驗證標記然後返回並放入腳本的步驟。

+2

如果你不需要該頁面上的javaScript,爲什麼不刪除它? –

+1

提供腳本內容的站點可以自由地以任何方式解釋HTTP請求(以及隨附的信息),如果有意義的話,它不會返回任何內容。 – Pointy

+0

你看過谷歌如何用它做鑰匙嗎? – epascarello

回答

0

你會希望他們把你的.ashx處理程序放到你的網站上,然後讓它返回javascript。

按照教程ashx的頁面,如果你不確定如何http://www.brainbell.com/tutorials/ASP/Generic_Handlers_(ASHX_Files).html

processrequest()功能

  • 檢查,看看他們是否有它使您可以使用查詢字符串,看看它是哪個網站https://msdn.microsoft.com/en-us/library/system.web.httprequest.querystring(v=vs.110).aspx在下面的代碼中有?yourwebsitedomain=customersdomain所以你會查詢"yourwebsitedomain",你會得到"customersdomain"
  • 如果他們這樣做然後使用獲取您的文件的字節
  • 並將結果寫入到輸出

    context.Response.OutputStream.Write(FileBytes, 0, FileBytes.Length); 
    context.Response.OutputStream.Flush(); 
    

您的客戶網站:

<script> 
    (function() { 
    var c = document.createElement('script'); 
    c.type = 'text/javascript'; c.async = true; 
    c.src = "http://yourdomane/yourhandler.ashx?yourwebsitedomain=customersdomain"; 
    var s = document.getElementsByTagName('script')[0]; 
    s.parentNode.insertBefore(c,s); 
    })(); 
</script> 

希望這有助於。

相關問題