设为首页,加入收藏 兼容IE, Firefox, Chrome

// 加入收藏
function AddFavorite(title, url) 
{ 
    try {
        window.external.addFavorite(url, title);
    } catch (e) {
        try {
            window.sidebar.addPanel(title, url, "");
        } catch (e) {
            alert("抱歉,您所使用的浏览器无法完成此操作,请按Ctrl+D之后按“确定”完成收藏!");
        }
    }
}
// 设置首页
function setHomepage(pageURL) {
    if (document.all) {
        document.body.style.behavior='url(#default#homepage)';
        document.body.setHomePage(pageURL);
    }
    else {
        try { //IE
            netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
        } catch (e) {
            try{ //Firefox
                var prefs = Components.classes['@mozilla.org/preferences-service;1']
                .getService(Components. interfaces.nsIPrefBranch);
                prefs.setCharPref('browser.startup.homepage',pageURL);
            } catch(e) {
                alert( "您的浏览器不支持该操作,请使用浏览器菜单手动设置." );
            }
        }
    }
}

ajaxfileupload.js问题汇总及解决 附修复版下载

使用Jquery做上传文件处理时,用到了ajaxfileupload.js 这个第三方代码,但是这个js几乎就是半成品,问题很多。现在整理如下并附修复版的ajaxfileupload.js下载。

问题:
1:无法带参数提交,只能上传文件;
2:运行时报:jQuery.handleError is not a function 错误;
3:执行成功后,始终指向error方法处理,无法执行sucess方法;

解决方法:
1:无法带参数提交,只能上传文件;
原作者一定是把这个代码当作练习来写的,只完成了文件提交这个功能。需要对代码做些许修改即可。有两处修改:
第一处是将原createUploadForm: function(id, fileElementId) 方法添加一个data参数,并将data中的数据拼接进去即可。代码如下:

createUploadForm: function(id, fileElementId,data) {
    //create form
    var formId = 'jUploadForm' + id;
    var fileId = 'jUploadFile' + id;
    var form = jQuery('');
    var oldElement = jQuery('#' + fileElementId);
    var newElement = jQuery(oldElement).clone();
    jQuery(oldElement).attr('id', fileId);
    jQuery(oldElement).before(newElement);
    jQuery(oldElement).appendTo(form); // 增加参数的支持
    if (data) {
        for (var i in data) 
        {
            $('').appendTo(form);
        }
    } //set attributes 
    jQuery(form).css('position', 'absolute');
    jQuery(form).css('top', '-1200px');
    jQuery(form).css('left', '-1200px');
    jQuery(form).appendTo('body');
    return form;
};

 

第二处 是调用createUploadForm方法地方,如下所示:

ajaxFileUpload: function(s) {
   // TODO introduce global settings, allowing the client to modify them for all requests, not only timeout        
   s = jQuery.extend({}, jQuery.ajaxSettings, s);
   var id = new Date().getTime();
    
   // 修改为调用添加参数的方法
   // var form = jQuery.createUploadForm(id, s.fileElementId);
   var form = jQuery.createUploadForm(id, s.fileElementId, s.data);
    
   var io = jQuery.createUploadIframe(id, s.secureuri);
   ...

2:运行时报:jQuery.handleError is not a function 错误;
这个错误是由于ajaxfileupload.js 是在jquery1.4.2版本之前写的,Jquery之后的版本已经没有了handleError 方法,所以可以将1.4.2版本中的该方法复制到该js中。

// handleError 方法在jquery1.4.2之后移除了,此处重写改方法
handleError: function( s, xhr, status, e ) {
    // If a local callback was specified, fire it
    if ( s.error ) {
        s.error.call( s.context || s, xhr, status, e );
    }
 
    // Fire the global callback
    if ( s.global ) {
        (s.context ? jQuery(s.context) : jQuery.event).trigger( "ajaxError", [xhr, s, e] );
    }
},

3:执行成功后,始终指向error方法处理,无法执行sucess方法;
这个是由于ajaxfileupload.js 处理返回data的时候,没有考虑后台返回的是字符串的问题(即使返回的JSON格式数据,我们也大多喜欢转化为字符串来返回)。修改uploadHttpData方法:

// Get the JavaScript object, if JSON is used.
if ( type == "json" ){
    // 如果返回的是字符串(JSON格式字符串),下面会报错,导致无法走入sucess方法 加上"
    // eval( "data = " + data );
    eval("data = " "+data+" " ");
}

修复版ajaxfileupload.js 下载 :ajaxfileupload.js

ActionScript 开发环境搭建

1. 安装 Flex SDK
选择 Adobe Flex SDK 下载, 并解压到任何你愿意放置程序的目录中.
下载地址

2. 安装 JRE/JDK
下载并安装 JRE 或者 JDK, 要求 1.6 或以上版本.
下载地址

3. 安装 Flash player Debug
选择 Projector content debugger 下载, 并解压到任何你愿意放置程序的目录中.
下载地址

4. 安装 FlashDevelop(开发工具)
下载并安装 FlashDevelop, 程序依赖 .NET Framework 2.0.
下载地址

5. 配置 FlashDevelop
5.1 进入 Tools -> Programe Settings, 在 AS3Context 下将 Installed Flex SDKs 设置为第 1 步中的程序存放目录.
5.2 在 FlashViewer 下将 External player Path 设置为第 3 步中的程序存放目录.

6. 新建项目
选择 Project -> New Project…, 选择 AS3 Project, 选项填写如下:
Name: HelloWorld
Location: (任何你愿意放置该项目的目录)
Pagckage: (留空)
Create directory for project: (选中)

7. 编写代码
点开 src 目录, 双击打开 Main.as 文件, 修改代码如下:

package 
{
    import flash.display.Sprite;
    
    public class Main extends Sprite
    {
        public function Main():void
        {
            trace("hello world!");
        }
    }
}

8. 修改项目选项
选择 Project -> Properties…, 将 Test Project 修改为 Play in external player, 否则看不到 trace 输出.

9. 编译运行
请勇敢地按下 Ctrl + Enter.

jQuery jCarousel 的详细参数

配置

jCarousel接受一系列的参数来控制滚动切换传送带的外观和行为。下面就是一些您可以设置的参数。

属性 类型 默认 描述
vertical bool false 指定滚动切换传送带是以水平方向显示还是垂直方向显示。改变左右方向的滚动切换为上下方向。
start integer 1 指定起始项
offset integer 1 在初始化时索引的第一个可用的项。
size integer Number of existing <li> elements if size is not passed explicitly 总共的列表项数目。
scroll integer 3 每次滚动切换的数目
visible integer null 如果通过,整个列表项的宽/高将会根据剪裁的宽/高计算和设定。因此整个列表项的数目将会被准确的显示出来。
animation mixed “fast” 用以确定滚动显示动画的速度,可以是某些jQuery式字符串("slow""fast")或是毫秒(参见jQuery文档材料)。如果设为0,则动画效果关闭。
easing string null 您想使用的缓动类型的名称(参见jQuery文档材料)。
auto integer 0 指定多少秒内容定期自动滚动。如果设置为0,则自动滚动关闭。
wrap string null 指定是否包裹第一/最后一项(或同时)并跳回到开始/结束。选项参数有"first""last" 或"both"字符串。如果设置为null,包裹会关闭(默认)。您也可以设置"circular"作为参数使支持循环滚动显示。您可以查看实例循环滚动切换看看如何使用此参数。
initCallback function null JavaScript函数,在滚动切换初始化后执行。需传递两个参数:一个请求的滚动切换实例参数,另外一个是滚动切换的初始化状态参数(init,reset或reload)。
itemLoadCallback function null JavaScript函数,在滚动切换请求的些列表项加载完毕的时候执行。需要传递两个参数:一个当前请求的滚动切换的实例化对象,另外一个是滚动切换的活动状态参数(prev,next或init)。或者,您可以传递在动画之前或之后触发的一个或两个函数:

itemLoadCallback: {
  onBeforeAnimation: callback1,
  onAfterAnimation: callback2
}
itemFirstInCallback function null JavaScript函数,滚动动画执行之后,当某一列表项成为可见区域的第一项时调用。传递四个参数:一是当前滚动切换的实例对象,二是<li>对象本身,三是用来表明当前项在列表项中位置的参数,四是滚动切换的活动状态参数(prev,next或init)。或者,您可以传递在动画之前或之后触发的一个或两个函数:

itemFirstInCallback: {
  onBeforeAnimation: callback1,
  onAfterAnimation: callback2
}
itemFirstOutCallback function null JavaScript函数,滚动动画执行之后,当某一列表项不再是可见区域的第一项时调用。传递四个参数:一是当前滚动切换的实例对象,二是<li>对象本身,三是用来表明当前项在列表项中位置的参数,四是滚动切换的活动状态参数(prev,next或init)。或者,您可以传递在动画之前或之后触发的一个或两个函数:

itemFirstOutCallback: {
  onBeforeAnimation: callback1,
  onAfterAnimation: callback2
}
itemLastInCallback function null JavaScript函数,滚动动画执行之后,当某一列表项成为可见区域的最后一项时调用。传递四个参数:一是当前滚动切换的实例对象,二是<li>对象本身,三是用来表明当前项在列表项中位置的参数,四是滚动切换的活动状态参数(prev,next或init)。或者,您可以传递在动画之前或之后触发的一个或两个函数:

itemLastInCallback: {
  onBeforeAnimation: callback1,
  onAfterAnimation: callback2
}
itemLastOutCallback function null JavaScript函数,滚动动画执行之后,当某一列表项不再是可见区域的最后一项时调用。传递四个参数:一是当前滚动切换的实例对象,二是<li>对象本身,三是用来表明当前项在列表项中位置的参数,四是滚动切换的活动状态参数(prev,next或init)。或者,您可以传递在动画之前或之后触发的一个或两个函数:

itemLastOutCallback: {
  onBeforeAnimation: callback1,
  onAfterAnimation: callback2
}
itemVisibleInCallback function null JavaScript函数,滚动动画执行之后,当某一列表项进入到可见区域内时调用。传递四个参数:一是当前滚动切换的实例对象,二是<li>对象本身,三是用来表明当前项在列表项中位置的参数,四是滚动切换的活动状态参数(prev,next或init)。或者,您可以传递在动画之前或之后触发的一个或两个函数:

itemVisibleInCallback: {
  onBeforeAnimation: callback1,
  onAfterAnimation: callback2
}
itemVisibleOutCallback function null JavaScript函数,滚动动画执行之后,当某一列表项已经不在可见区域内时调用。传递四个参数:一是当前滚动切换的实例对象,二是<li>对象本身,三是用来表明当前项在列表项中位置的参数,四是滚动切换的活动状态参数(prev,next或init)。或者,您可以传递在动画之前或之后触发的一个或两个函数:

itemVisibleOutCallback: {
  onBeforeAnimation: callback1,
  onAfterAnimation: callback2
}
buttonNextCallback function null JavaScript函数,在’next’控制状态改变的时候调用。此方法的职责就是启用或禁用’next’控制。需传递三个参数:一是滚动切换实例对象,二是控制的元素,三是按钮是否要被禁用的标志参数。
buttonPrevCallback function null JavaScript函数,在’previous’控制状态改变的时候调用。此方法的职责就是启用或禁用’previous’控制。需传递三个参数:一是滚动切换实例对象,二是控制的元素,三是按钮是否要被禁用的flag标志。
buttonNextHTML string <div></div> 自动生成下一个按钮的HTML标记。如果设为null,则没有“下一个(next-button)”按钮创建。
buttonPrevHTML string <div></div> 自动生成前一个按钮的HTML标记。如果设为null,则没有“前一个(prev-button)”按钮创建。
buttonNextEvent string “click” 指定向后滚动触发的事件。
buttonPrevEvent string “click” 指定向前滚动触发的事件。

三星免费8G内存卡领取,目前测试成功

几天前就看到网友分享这个活动了,可是刚想分享就失效了,

今天再来看,增加了手机号验证,不过无所谓,稍微麻烦点,还是可以领得到的。

首先进入网站:8G内存卡领取,如果有S4的话直接输入领取就好

没有的S4的话,下载本文附件IMEI生成器,测试出一个有效号码添上就好了!

下面是关键,生成号码的技巧,运行生成器,流水生成,填写355637051752707

然后点生成,或在软件目录生成100个号码,成功的几率比较高!

我领到一个,换个手机号再试试,不知道给不给发货。

三星赚了那么多钱,我们薅它点羊毛也是理所应该啊。

IMEI生成器下载地址:imei2生成器.zip

本文转自:http://fuliba.net/%E5%85%8D%E8%B4%B9%E5%86%85%E5%AD%98%E5%8D%A1.html