2

经过一个小时的浏览,我决定在这里问这个问题。

是否可以将 css 代码添加到 url,例如更改背景颜色?

有些人喜欢这个: http ://yahoo.com (command)style=background-color:#000000;

或类似的。或者是否可以在不使用 Chrome 扩展程序或类似扩展程序的情况下创建一个使用修改后的 css 加载站点的 url?

感谢帮助!

4

4 回答 4

2

不可以。您不能(使用标准软件)通过向文档的 URL 添加任何内容来修改文档(除非服务器识别到 URL 的添加内容(例如,如果它是查询字符串)并基于它返回不同的文档)。

如果可能的话,浏览器会将每个站点都暴露给XSS 攻击

浏览器扩展将是执行此客户端的唯一方法(但会使该扩展的用户容易受到 XSS 攻击)。

您还可以在两阶段方法中使用书签(1. 访问页面。2. 单击以激活书市。)。

于 2013-11-12T10:22:27.560 回答
1

这在某种程度上是可能的,但可能不是您想象的那样(请参阅昆汀的回答以了解原因)。

使用 javascript - 请注意,这不是“本机”功能,因此您必须进行一些操作。看下面的例子:

function get_query_param(name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
    return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

window.onload = function() {
    var bgcolor = get_query_param('bgcolor');
    if (bgcolor.length) {
        document.getElementById("xyz").style["padding-top"] = "10px";
        document.body.style.backgroundColor = bgcolor;
    }
}

现在尝试?bgcolor=red在 url 的末尾浏览您的页面。

当然,这是主要思想的演示,您必须使用这种方法实现您希望修改的每个 css 属性。

希望有帮助。

于 2013-11-12T10:25:45.507 回答
0

对的,这是可能的。按照这个: <a href="http://yahoo.com" style="background: #777777; color: #F0AD4E;">Yahoo</a>

于 2013-11-12T10:21:52.557 回答
0

是否可以创建一个使用修改后的 css 加载网站的 url

解决方案:


添加类似这样的内容:?v=1.1

<link rel="stylesheet" href="style.css?v=1.1"> 

当您更改 css 时,请像这样更改版本:?v=1.2之后您的浏览器将加载新更新的 css。请注意,每次更改 css 时都可以替换为任意数字。

这对 CSS 没有影响。它只会使浏览器认为它是一个完全不同的文件。

如果您暂时不更改该值,浏览器将继续缓存(或保留)该文件,并且不会尝试下载它,除非其他因素强制它这样做,或者您最终更新了查询字符串值。

于 2013-11-12T10:43:17.507 回答