CSS和JS为什么带参数(形如.css?t=与.js?t=)怎样获取代码

css和js带参数(形如.css?t=与.js?t=)

使用参数有两种可能:

第一、脚本并不存在,而是服务端动态生成的,因此带了个版本号,以示区别。 即上面代码对于文件来说 等价于 但浏览器会认为他是 该文件的某个版本!

第二、客户端会缓存这些css或js文件,因此每次升级了js或css文件后,改变版本号,客户端浏览器就会重新下载新的js或css文件 ,刷性缓存的作用。

第二种情况最多,也可能两种同时存在。

版本号,可以是一个随机数,也可以是一个递增的值,大版本小版本的方式,或者根据脚本的生成时间书写,比如就是精确到了生成脚本的秒,而 2.3.3 就是大版本小版本的方式。?合肥网站建设公司

获取对方网站JS或CSS文件方法步骤如下:

1、直接在firebug下的html里面就可以看到这个文件,?然后按住ctrl健,然后点击鼠标;

2、然弹出来一个新的JS或CSS页面(如果人家加密的话可能这个页面就是空白);

3、最后?ctrl+a?复制并保存到js文件里面。

如果还是不明白,那就看下这个截图,关于获取百度首页的一个JS文件实例:

文章来源:http://www.darewe.com/news/news-162.html?转载请注明。

站长支招:收到弹窗整改提醒怎么办

百度在2014年7月推出了“整改反馈功能”,即发现网站存在影响排名的问题,会通过站内消息、邮件、短信通知站长,如果站长确认此问题存在可以整改后反馈给百度,百度会重新审核撤销惩罚,目前最常见的是收到“网站存在恶劣弹窗,请马上整改避免惩罚”的整改信息。

百度在13年推出的石榴算法主要是针对弹窗问题,不过弹窗这个问题,说实话比较复杂,算法每一轮的升级都会出现新的作弊站点被发现——不过也会有新的站点被误伤。本身如果存在弹窗,该如何处理无需讨论,那如果你没有弹窗,但是被误伤了,问题就有点麻烦了。这一般是三种情况:

1、网站被入侵

2、调用第三方组件、js被入侵

3、自身代码被误判

对于第一种情况,网站被入侵,可以通过百度站长平台的安全检测工具,检查自身网站的安全情况,同时,对于警告给出的示例地址,使用百度站长平台的抓取诊断,抓取页面源代码,看百度抓取到的页面源代码是否和用户所看到的源代码一致,如果不一致可能是被修改过了。合肥网站建设公司

对于第二种情况,可以检查示例页面调用的外部.js文件,现在很多站长喜欢调用第三方的组件,如推荐、统计、广告、特效代码。如果是大厂商提供的,一般没问题,如果调用小网站或者个人提供的组件,特效代码,那么他们的安全性问题就可能导致出现弹窗,尝试去除这些代码也许有助于问题的解决。

最后,如果整改完毕,不管是不忿于被误杀,还是为了提高百度的算法精准性,可以通过百度站长平台的站长反馈中心 反馈你的问题。不管怎么说,只有积极反馈才有助于搜索引擎和站长共赢,避免下次被误杀。

文章来源:http://www.darewe.com/news/news-161.html 转载请注明。

AMD规范及require.js用法(Javascript模块化编程)

网页越来越像桌面程序,需要一个团队分工协作、进度管理、单元测试等等……开发者不得不使用软件工程的方法,管理网页的业务逻辑。Javascript模块化编程,已经成为一个迫切的需求。理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块。Javascript社区做了很多努力,在现有的运行环境中,实现”模块”的效果。本文总结了当前"Javascript模块化编程"的最佳实践,说明如何投入实用。虽然这不是初级教程,但是只要稍稍了解Javascript的基本语法,就能看懂。

一、原始写法

模块就是实现特定功能的一组方法。

只要把不同的函数(以及记录状态的变量)简单地放在一起,就算是一个模块。

function m1(){

//…

}

function m2(){

//…

}

上面的函数m1()和m2(),组成一个模块。使用的时候,直接调用就行了。

这种做法的缺点很明显:”污染”了全局变量,无法保证不与其他模块发生变量名冲突,而且模块成员之间看不出直接关系。

二、对象写法

为了解决上面的缺点,可以把模块写成一个对象,所有的模块成员都放到这个对象里面。

var module1 = new Object({

_count : 0,

m1 : function (){

//…

},

m2 : function (){

//…

}

});

上面的函数m1()和m2(),都封装在module1对象里。使用的时候,就是调用这个对象的属性。

module1.m1();

但是,这样的写法会暴露所有模块成员,内部状态可以被外部改写。比如,外部代码可以直接改变内部计数器的值。

module1._count = 5;

三、立即执行函数写法

使用”立即执行函数”(Immediately-Invoked Function Expression,IIFE),可以达到不暴露私有成员的目的。

var module1 = (function(){

var _count = 0;

var m1 = function(){

//…

};

var m2 = function(){

//…

};

return {

m1 : m1,

m2 : m2

};

})();

使用上面的写法,外部代码无法读取内部的_count变量。

console.info(module1._count); //undefined

module1就是Javascript模块的基本写法。

文章来源:http://www.darewe.com/news/news-146.html