2012-02-22 90 views
1

我正在Struts2(JSP)中開發一個Web應用程序。關閉網頁中的腳本攔截

我使用的很多java腳本在我的網頁像提示,彈出窗口,菜單欄等

在大多數系統中的Java腳本則默認禁止動態內容。這是每次我加載我的頁面時都會產生問題,我必須點擊允許訪問腳本。

在帶提示的頁面中,每次打開頁面時都必須允許訪問腳本化窗口。

這些會刺激將使用該應用程序的用戶,並且我必須使用這些提示和腳本(這是非常需要的)。

有沒有辦法通過編碼或其他方式關閉自動腳本阻塞?

其實我想要的是用戶不應該面對總是點擊允許內容的困難。

在此先感謝。

回答

4

默認情況下,瀏覽器不會阻止腳本。如果用戶已禁用腳本或正在運行一些腳本攔截軟件,那麼(作爲頁面作者)您無法繞過它。

如果可能的話,該選項將是「禁用腳本,除非頁面作者真的真的想要它」,許多作者會認爲「我真的很想讓訪問者看到我的侵入性廣告旋轉和呼喊他們」。 (作爲選項,這對用戶來說無足輕重!)

您應該遵循progressive enhancementunobtrusive JavaScript的設計原則。

如果您正在處理受控環境(如果在大多數系統中是合理的,那麼java腳本默認被阻止),那麼您可以配置系統以允許該站點使用JS。這將涉及作爲系統管理員而不是頁面作者。你如何做到這一點將取決於瀏覽器/第三方腳本攔截軟件。例如,在Internet Explorer中,您可以將該站點放入Intranet區域,並允許該區域中的所有站點使用JS。

4

網頁無法覆蓋不允許執行Javascript的瀏覽器(這會挫敗禁用Javascript的選項)。

1

似乎你開發你的應用程序在https和加載JavaScript資源http。在這種情況下,瀏覽器會要求你允許執行腳本。爲了防止瀏覽器出現這樣的問題 - 從相同協議加載所有資源(javascript,css,圖像)。

例如,要加載的jQuery我使用這個鏈接://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js

如果不指定協議加載資源 - 瀏覽器將使用來自頁面的協議。