2017-02-17 74 views
0

如果我更改了我的css文件并重新加载/刷新了我的d3.js驱动页面,则不会显示css更改。显示css更改的唯一方法是清除浏览器缓存。这个问题不会发生在我编辑网站css的其他网页上。看起来有些东西与使用保留在旧的css文件中的d3.js是独一无二的,除非缓存被清除。对CSS的更改未反映在d3.js站点中

因为我不能指望用户每次都清除缓存,所以在加载我的d3.js驱动页面之前,我怎样才能确保他们能够获得我的css更改?

的d3.js网站结构:

的index.php带来d3.js在头

<script type="text/javascript" src="d3/d3v428.js"></script> 

的index.php带来了一个JSON文件中的某些jQuery的创建一个d3chart 。该图表是json文件中的php页面的结构。每个php页面都有一个到它的头文件的链接。

<link rel="stylesheet" href="style.css" type="text/css" /> 

Snipet JSON文件(每个PHP文件有一个链接到style.css文件,在这个文件中修改CSS只有当我清除浏览器缓存显示)

[ 
{ 
    "id": "0", 
    "title": "Page1", 
    "asChildText": "null", 
    "url": "1.php", 
    "parentId": "null", 
    "children": [ 
     { 
      "id": "53", 
      "title": "Page21", 
      "asChildText": "Let's begin!", 
      "url": "21.php", 
      "parentId": "0", 
      "children": [ 
       { 
        "id": "1", 
        "title": "Page16", 
        "asChildText": "Step1", 
        "url": "16.php", 
        "parentId": "53", 
        "children": [ 

而且json文件中的php页面未使用的css文件在重新加载时显示对css的更改。所以看起来json连接到的css没有更新。

感谢

+0

试着引用你的css文件,比如'index.css?v = 1' ...我之前有类似的问题,并且这个问题修复了它 – sparta93

+0

我添加了?v = 1到css文件名,但它只能工作一次。进行第二次更改并重新加载页面后,css没有更新。我将边框从2px更改为5px,萤火虫甚至显示2px仍然存在。 – Marc

回答

1

莫名其妙的路径css文件变得丢失/混淆JSON文件。通过在css文件的引用前添加一个./解决了问题。我可以改变CSS,刷新浏览器并查看更改。

<link rel="stylesheet" href="./style.css" type="text/css" /> 
0

您需要这条线:

<link rel="stylesheet" href="./style.css" type="text/css" /> 

的原因“./”位被解释如下:

单点是当前directory.The双点是父目录:

./ = current 
../ = parent 

希望帮助:)