aboutsummaryrefslogtreecommitdiff
path: root/files/zh-tw/mozilla/firefox/privacy/tracking_protection/index.html
blob: a52f8b815d7f3fa4a31ac768b573db2df4291c0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
---
title: 追蹤保護
slug: Mozilla/Firefox/Privacy/Tracking_Protection
translation_of: Mozilla/Firefox/Privacy/Tracking_Protection
---
<div>{{FirefoxSidebar}}</div><h2 id="追蹤保護是什麼?">追蹤保護是什麼?</h2>

<p>在第 42 版後,Firefox Desktop 與 Firefox for Android 導入了追蹤保護。在隱私視窗(Firefox for Android 則是隱私標籤)內,Firefox 會封鎖從其他用戶追蹤網站載入的內容。</p>

<p>有些被封鎖的內容,屬於頁面排版的一部分。如果 Firefox 因為封鎖了這些內容而造成跑版,用戶很可能會注意到。但如果針對遭封鎖的元素,以其他元素填充的話,用戶也可能完全不會注意到。</p>

<p>當 Firefox 封鎖內容的時候,網頁主控台的訊息會跳出如下面般的紀錄:</p>

<pre>因為啟用了追蹤保護,位於「http://some/url」的資源已被封鎖。</pre>

<p>請記得在使用 Firefox for Android 的時候,你可以透過遠端除錯訪問主控台。</p>

<p>Firefox UI 會在封鎖內容的時候告訴用戶,並同時告知用戶可以在此次瀏覽階段解除封鎖。用戶也可以選擇完全停用追蹤保護。</p>

<h2 id="Firefox_如何決定封鎖什麼?">Firefox 如何決定封鎖什麼?</h2>

<p>載入內容的封鎖與否,取決於該內容來自哪個網域。</p>

<p>Firefox 會傳送一個確定參與用戶追蹤的網域列表。當追蹤保護啟動的時候,Firefox 會封鎖來自列表網站的內容。</p>

<p>追蹤用戶的網站通常來自第三方廣告網站與分析網站。</p>

<h2 id="這對我的網站有什麼意義?">這對我的網站有什麼意義?</h2>

<p>當追蹤保護啟用時,最明顯的意義是:</p>

<ul>
 <li>用戶不會見到由第三方維護的追蹤性內容</li>
 <li>你的網站無法使用與追蹤有關的第三方廣告與分析服務。</li>
</ul>

<p>更值得注意的是,如果你的網站有部分依賴於追蹤器的運作程式碼,那這些追蹤程式碼將會被封鎖和禁止並可能導致你的網站失去正常運作當追蹤保護被啟用。例如,當你的網站包含程式碼,那些程式碼依賴於追蹤網站所提供的程式碼的功能,那麼這些追蹤網站的程式碼的功能將會失敗,不會運作,停止呼叫程式碼,失去網站的運作功能。</p>

<p>像是說,不要這樣用 Google Analytics:</p>

<pre class="brush:html example-bad">&lt;a href="http://www.example.com" onclick="trackLink('http://www.example.com', event);"&gt;Visit example.com&lt;/a&gt;
&lt;script&gt;
function trackLink(url,event) {
    event.preventDefault();
    ga('send', 'event', 'outbound', 'click', url, {
     'transport': 'beacon',
     'hitCallback': function() {
       document.location = url;
     }
   });
}
&lt;/script&gt;</pre>

<p>而是要在使用物件以前偵測該物件是否存在或被停用,防止程式運作的失敗。像是:</p>

<pre class="brush:html example-good">&lt;a href="http://www.example.com" onclick="trackLink('http://www.example.com', event);"&gt;Visit example.com&lt;/a&gt;
&lt;script&gt;
function trackLink(url,event) {
    event.preventDefault();
    if (window.ga &amp;&amp; <span class="pl-smi">ga</span>.loaded) {
         ga('send', 'event', 'outbound', 'click', url, {
         'transport': 'beacon',
         'hitCallback': function() { document.location = url; }
       });
    } else {
        document.location = url;
    }
}
&lt;/script&gt;
</pre>

<p>關於此技術的詳細資訊可參見 <a href="https://hacks.mozilla.org/2016/01/google-analytics-privacy-and-event-tracking/">Google Analytics, Privacy, and Event Tracking</a>.</p>

<p>取決於那些第三方網站程式的程式碼寫法和運作方式,這樣的程式碼寫法不會是適合和適用於你的網站的程式碼。所以說,你的網站將會失敗停止運作如果這些第三方外掛程式碼回應過慢或不可用或追蹤程式碼被外掛程式停用。</p>