文件加载到浏览器后去掉 href 的路径
Strip off the path of the href after the file is loaded into the browser
当我加载网页并查看源代码时,我可以看到
<link rel="stylesheet" type="text/css" href="css/bootstrap/bootstrap.min.css"/>
如果我在浏览器的地址栏中输入 www.example.com/css/bootstrap/bootstrap.min.css
,那么我可以看到整个 css 文件。
有没有什么办法可以在文件加载到浏览器后去掉 href 的路径,比如 css/bootstrap/bootstrap.min.css
变成 bootstrap.min.css
?
感谢任何帮助。
谢谢
Is there any way where I can strip off the path of the href after the file is loaded into the browser, something like css/bootstrap/bootstrap.min.css
becomes bootstrap.min.css
?
没有。大多数浏览器通过从您的服务器重新请求页面(可能来自缓存也可能不来自缓存)然后准确显示该文本来实现 "view source";您没有机会使用 运行 客户端代码来删除 link
或 style
元素(而且它必须是客户端代码,因为您自然不能这样做这个服务器端并且仍然有正常请求正确呈现的页面。
即使您可以在 "view source" 显示之前 运行 客户端代码,您也无法使用 CSS 执行此操作:更改或删除 link
元素将删除与其关联的样式表。即使您可以(猜测您这样做的原因),也不会阻止任何人以最微不足道的努力看到您的 CSS。
您可以在您的页面上对 JavaScript 执行类似的操作(您可以在 script
标签 运行 之后完全删除它,这不会影响它加载的代码) ,但不是 CSS,这只是阻止人们在调试工具中看到脚本元素,而不是 "view source."
Any pointers on removing the JavaScript tags...
当然,因为您使用的是 jQuery,只需输入:
$("script").remove();
...在所有其他脚本代码 运行 之后 运行 的代码中。这是一个例子:
$(".dp").datepicker();
$("script").remove();
<link href="https://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.min.css" rel="stylesheet"/>
<script src="https://code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script>
<label>
Pick a date: <input type="text" class="dp">
</label>
请注意,jQuery UI 日期选择器会继续工作,即使我们从DOM。但是同样,它们仍然存在于 "view source," 中,因为上面是客户端代码。
当我加载网页并查看源代码时,我可以看到
<link rel="stylesheet" type="text/css" href="css/bootstrap/bootstrap.min.css"/>
如果我在浏览器的地址栏中输入 www.example.com/css/bootstrap/bootstrap.min.css
,那么我可以看到整个 css 文件。
有没有什么办法可以在文件加载到浏览器后去掉 href 的路径,比如 css/bootstrap/bootstrap.min.css
变成 bootstrap.min.css
?
感谢任何帮助。
谢谢
Is there any way where I can strip off the path of the href after the file is loaded into the browser, something like
css/bootstrap/bootstrap.min.css
becomesbootstrap.min.css
?
没有。大多数浏览器通过从您的服务器重新请求页面(可能来自缓存也可能不来自缓存)然后准确显示该文本来实现 "view source";您没有机会使用 运行 客户端代码来删除 link
或 style
元素(而且它必须是客户端代码,因为您自然不能这样做这个服务器端并且仍然有正常请求正确呈现的页面。
即使您可以在 "view source" 显示之前 运行 客户端代码,您也无法使用 CSS 执行此操作:更改或删除 link
元素将删除与其关联的样式表。即使您可以(猜测您这样做的原因),也不会阻止任何人以最微不足道的努力看到您的 CSS。
您可以在您的页面上对 JavaScript 执行类似的操作(您可以在 script
标签 运行 之后完全删除它,这不会影响它加载的代码) ,但不是 CSS,这只是阻止人们在调试工具中看到脚本元素,而不是 "view source."
Any pointers on removing the JavaScript tags...
当然,因为您使用的是 jQuery,只需输入:
$("script").remove();
...在所有其他脚本代码 运行 之后 运行 的代码中。这是一个例子:
$(".dp").datepicker();
$("script").remove();
<link href="https://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.min.css" rel="stylesheet"/>
<script src="https://code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script>
<label>
Pick a date: <input type="text" class="dp">
</label>
请注意,jQuery UI 日期选择器会继续工作,即使我们从DOM。但是同样,它们仍然存在于 "view source," 中,因为上面是客户端代码。