2016-02-01 64 views
0

是否可以使用不同的顏色對一個斷開的鏈接進行樣式設置(即試圖鏈接到網站上不存在的頁面)?例如。工作環節是藍色的,破碎的環節是紅色的?你可以用CSS來設計破碎的鏈接嗎?

或者,如果沒有CSS,有沒有可能通過JavaScript來分辨它們,再後來他們的風格? (jQuery是不提供給我。)

+4

不,只用CSS就無法做到。 (此外,如果沒有嘗試訪問並應用相關的「破壞」啓發式設置,並且同源策略使JavaScript變得困難,則無法知道鏈接是否「中斷」。) – user2864740

+0

您可能需要檢查此文章:http ://stackoverflow.com/questions/5224197/javascript-check-if-server-is-online – LuvnJesus

回答

0

不,你不能風格的CSS斷開的鏈接。瀏覽器不知道鏈接是否被破壞,直到某個代理嘗試訪問鏈接。

你可能會想到寫一些JavaScript,試圖爲你的文檔中的每一個鏈接提取每一頁,然後,當一些鏈接失敗時,它可以動態地改變鏈接的風格。但是,這可能是一個非常糟糕的主意,因爲它可能會浪費大量帶寬並浪費一些CPU(這對於移動設備來說都非常重要)。

而且,更進一步的是一些鏈接是其他域,瀏覽器可能會禁止您的Javascript直接抓取這些頁面(同源安全限制),因此您甚至可能無法使用Javascript來做到這一點。

一個可以工作的可擴展系統應該是讓服務器在一定的時間間隔內檢查您在頁面中使用的鏈接(可能每隔幾天),將這些信息保存在本地數據庫中,然後添加類渲染頁面時鏈接(服務器端),然後CSS規則可以以不同方式鏈接。此外,服務器不受同源限制,因此您不必在服務器端進行限制。有很多陷阱的決定離線時,你必須注意,因爲一臺主機可以暫時關閉,只能從互聯網上特定的航線,等下來......

+0

非常豐富。謝謝! – StarDart

0

引用您可能要檢查這個帖子:Javascript: Check if server is online?

您可以使用JavaScript來檢查,看是否有網站是向上/向下。使用此功能,您可以確定鏈接是否良好,並顯示不同於不好的類別。

0

CSS本身不有能力識別鏈接是否已損壞,否。

但是,假設你有判斷鏈接是否被打破的一些其他方法,是你可以添加一個類破的,給那些獨特的CSS樣式直觀地表明它們的方式。

如何自動確定損壞的鏈接將是另一個問題,其中之一是很好覆蓋在網絡上的各個地方。例如在JS herePHP here。我強烈建議構建一個系統,不要試圖確定每個訪問者每次訪問的每個鏈接,而是可能每週檢查一次您網站上的所有鏈接,並更新該網站上的鏈接以獲得額外服務broken類附在他們身上或類似的東西。

相關問題