當我打開時www.example.com/some_html.html,我想要 Tampermonkey 中的一個小腳本來檢測 .html,打開一個新選項卡,并view-source在字串前面附加。
理論上,我已經有了作業代碼
// ==UserScript==
// @name XML
// @version 0.1
// @description Opens files, Yay!
// @include /^.*\.xml$/
// @exclude /^view-source:.*\.xml$/
// ==/UserScript==
(function() {
'use strict';
window.location.replace(`view-source:${window.location.href}`)
})();
可悲的是,例如,當我打開站點地圖時,它會列印出這個大錯誤
Uncaught (in promise) TypeError: Location.replace: Access to 'view-source:http://drupal-blog.lndo.site/en/sitemap.xml' from script denied.
tms_8214f41c_65d5_4e50_86b6_a5ea16f2256e$/< moz-extension://9c13b008-02bf-4abc-9c1e-f8db84075d3f/userscripts/XML.user.js?id=8214f41c-65d5-4e50-86b6-a5ea16f2256e:13
tms_8214f41c_65d5_4e50_86b6_a5ea16f2256e$ moz-extension://9c13b008-02bf-4abc-9c1e-f8db84075d3f/userscripts/XML.user.js?id=8214f41c-65d5-4e50-86b6-a5ea16f2256e:14
it http://drupal-blog.lndo.site/en/sitemap.xml:14
window["__p__185308.9699366292"]/</< moz-extension://9c13b008-02bf-4abc-9c1e-f8db84075d3f/userscripts/XML.user.js?id=8214f41c-65d5-4e50-86b6-a5ea16f2256e:1
window["__p__185308.9699366292"]/< moz-extension://9c13b008-02bf-4abc-9c1e-f8db84075d3f/userscripts/XML.user.js?id=8214f41c-65d5-4e50-86b6-a5ea16f2256e:1
"__p__185308.9699366292" moz-extension://9c13b008-02bf-4abc-9c1e-f8db84075d3f/userscripts/XML.user.js?id=8214f41c-65d5-4e50-86b6-a5ea16f2256e:15
it http://drupal-blog.lndo.site/en/sitemap.xml:14
set http://drupal-blog.lndo.site/en/sitemap.xml:3
<anonymous> moz-extension://9c13b008-02bf-4abc-9c1e-f8db84075d3f/userscripts/XML.user.js?id=8214f41c-65d5-4e50-86b6-a5ea16f2256e:1
it http://drupal-blog.lndo.site/en/sitemap.xml:14
t http://drupal-blog.lndo.site/en/sitemap.xml:4
it http://drupal-blog.lndo.site/en/sitemap.xml:14
y http://drupal-blog.lndo.site/en/sitemap.xml:6
send http://drupal-blog.lndo.site/en/sitemap.xml:7
V http://drupal-blog.lndo.site/en/sitemap.xml:3
E_u http://drupal-blog.lndo.site/en/sitemap.xml:4
E_u http://drupal-blog.lndo.site/en/sitemap.xml:4
create eval:64
create eval:65
l eval:6
it http://drupal-blog.lndo.site/en/sitemap.xml:14
a eval:3
r eval:4
M http://drupal-blog.lndo.site/en/sitemap.xml:6
M http://drupal-blog.lndo.site/en/sitemap.xml:6
it http://drupal-blog.lndo.site/en/sitemap.xml:14
t http://drupal-blog.lndo.site/en/sitemap.xml:4
it http://drupal-blog.lndo.site/en/sitemap.xml:14
y http://drupal-blog.lndo.site/en/sitemap.xml:6
send http://drupal-blog.lndo.site/en/sitemap.xml:7
r eval:4
setTimeout eval:4
t eval:7
runListeners eval:6
run eval:7
TM_back eval:67
it http://drupal-blog.lndo.site/en/sitemap.xml:14
t http://drupal-blog.lndo.site/en/sitemap.xml:15
TM_back eval:67
TM_back eval:67
TM_back eval:68
"__c__17560039.84757176" eval:68
it http://drupal-blog.lndo.site/en/sitemap.xml:14
set http://drupal-blog.lndo.site/en/sitemap.xml:3
<anonymous> eval:1
sitemap.xml line 14 > eval:13:21
我現在的問題是,這是否可能是由于某個標頭未設定或已設定,還是由于 Firefox 中的安全規則?
uj5u.com熱心網友回復:
來自bugzilla:
Linking to view-source: 只對瀏覽器開發者有用。出于安全考慮,IE 已經放棄了對 XP SP2 的支持。我們可能也應該洗掉它。
view-source: 協議在 Firefox 中引起了很多安全漏洞,主要是由于安全檢查沒有考慮到 view-source 的特殊性: https ://bugzilla.mozilla.org/buglist.cgi?quicksearch=481342,762705 ,561051,645564,290982,290949,262689
并且該協議仍然對帶有私人資訊或 CSRF 令牌的網站的安全構成威脅: https ://bugzilla.mozilla.org/buglist.cgi?quicksearch=263290,624883,973837,1171853
這是 Firefox 中的安全規則。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/506935.html
標籤:javascript xml 火狐
