网站七七八八

本站为林耿祥个人关于网站各种技术博文

  • js数组操作(pop,push,unshift,splice,shift方法)
  • 16款跨境电商最常用的工具
  • Liquid基础语法
  • History 对象
  • Location 对象
  • 改变图片bate大小 JS
  • 用windows的netsh实现端口映射(端口转发)
  • 搜索引擎网站收录地址大全
  • CronTrigger时间格式配置说明

本站不支持IE8及以下浏览器,请使用:360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之窗.

ICP备案号:粤ICP备13008928号

js数组操作(pop,push,unshift,splice,shift方法)

 shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined
  1. var a = [1,2,3,4,5];

  2. var b = a.shift(); //a:[2,3,4,5] b:1

unshift:将参数添加到原数组开头,并返回数组的长度

  1. var a = [1,2,3,4,5];

  2. var b = a.unshift(-2,-1);    //a:[-2,-1,1,2,3,4,5]   b:7

注:在IE6.0下测试返回值总为undefined,FF2.0下测试返回值为7,所以这个方法的返回值不可靠,需要用返回值时可用splice代替本方法来使用。

pop:删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined

  1. var a = [1,2,3,4,5];

  2. var b = a.pop();           //a:[1,2,3,4]  b:5

push:将参数添加到原数组末尾,并返回数组的长度

  1. var a = [1,2,3,4,5];

  2. var b = a.push(6,7); //a:[1,2,3,4,5,6,7]   b:7

concat:返回一个新数组,是将参数添加到原数组中构成的

  1. var a = [1,2,3,4,5];

  2. var b = a.concat(6,7);        //a:[1,2,3,4,5] b:[1,2,3,4,5,6,7]

splice(start,deleteCount,val1,val2,...):从start位置开始删除deleteCount项,并从该位置起插入val1,val2,...

  1. var a = [1,2,3,4,5];

  2. var b = a.splice(2,2,7,8,9); //a:[1,2,7,8,9,5] b:[3,4]

  3. var b = a.splice(0,1); //同shift

  4. a.splice(0,0,-2,-1); var b = a.length; //同unshift

  5. var b = a.splice(a.length-1,1); //同pop

  6. a.splice(a.length,0,6,7); var b = a.length; //同push

reverse:将数组反序

  1. var a = [1,2,3,4,5];

  2. var b = a.reverse(); //a:[5,4,3,2,1] b:[5,4,3,2,1]

sort(orderfunction):按指定的参数对数组进行排序

  1. var a = [1,2,3,4,5];

  2. var b = a.sort(); //a:[1,2,3,4,5] b:[1,2,3,4,5]

slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组

  1. var a = [1,2,3,4,5];

  2. var b = a.slice(2,5); //a:[1,2,3,4,5] b:[3,4,5]

join(separator):将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符

  1. var a = [1,2,3,4,5];

  2. var b = a.join("|"); //a:[1,2,3,4,5] b:"1|2|3|4|5"

indexOf :数组元素索引并返回元素索引,不存在返回-1,索引从0开始

  1. var a = ['a','b','c','d','e']; 
  2. a.indexOf('a');//0
  3. a.indexOf(a);//-1
  4. a.indexOf('f');//-1
  5. a.indexOf('e');//4

数组是JavaScript提供的一个内部对象,它是一个标准的集合,我们可以添加(push)、删除(shift)里面元素,我们还可以通过for循环遍历里面的元素,那么除了数组我们在JavaScript里还可以有别的集合吗?

  由于JavaScript的语言特性,我们可以向通用对象动态添加和删除属性。所以Object也可以看成是JS的一种特殊的集合。下面比较一下Array和Object的特性:

Array:

新建: var ary = new Array(); 或 var ary = [];

增加: ary.push(value);

删除: delete ary[n];

遍历: for ( var i=0 ; i < ary.length ; ++i ) ary[i];

Object:

新建: var obj = new Object(); 或 var obj = {};

增加: obj[key] = value; (key为string)

删除: delete obj[key];

遍历: for ( var key in obj ) obj[key];

 

  从上面的比较可以看出Object完全可以作为一个集合来使用,在使用Popup窗口创建无限级Web页菜单(3)中我介绍过Eric实现的那个__MenuCache__,它也就是一个模拟的集合对象。

  如果我们要在Array中检索出一个指定的值,我们需要遍历整个数组:

  1. var keyword = ;
  2. for ( var i=0 ; i < ary.length ; ++i ){
  3. if ( ary[i] == keyword ){
  4.    // todo
  5. }
  6. }

       而我们在Object中检索一个指定的key的条目,只需要是要使用:

  1. var key = '';
  2. var value = obj[key];
  3. // todo

 Object的这个特性可以用来高效的检索Unique的字符串集合,遍历Array的时间复杂度是O(n),而遍历Object的时间复杂度是O(1)。虽然对于10000次集合的for检索代价也就几十ms,可是如果是1000*1000次检索或更多,使用Object的优势一下就体现出来了。在此之前我做了一个mapping,把100个Unique的字符mapping到1000个字符串数组上,耗时25-30s!后来把for遍历改成了Object模拟的集合的成员引用,同样的数据量mapping,耗时仅1.7-2s!!!

 

  对于集合的遍历效率(从高到低): var value = obj[key]; > for ( ; ; ) > for ( in )。效率最差的就是for( in )了,如果集合过大,尽量不要使用for ( in )遍历



16款跨境电商最常用的工具

1、AMZBase谷歌浏览器插件(免费)

https://chrome.google.com/webstore/detail/amzbase/nhebfnlghmjfcammdgbgfcomeonbfcfn

一款辅助亚马逊卖家搜索的选品工具,可以自动提取产品页ASIN和Title等信息,一键就可以在ebay,阿里等其他网站进行搜索,有效提高选品搜索效率。

2、Google Trends谷歌趋势:(免费)

https://www.google.com/trends/?hl=zh-CN

产品调研工具,可自定义通过查看关键词在Google的搜索次数及变化趋势,然后间接看出该行业的整体趋势表现。有助于库存管理,以便卖家们根据往年销售情况进行备货。

3、HelloProfit(付费):每月需要交97美元,同时也可以交1美元试用21天。

https://helloprofit.com

HelloProfit是最佳亚马逊Ranking Tracking Tools,帮忙分析你的亚马逊店铺,它的捆绑产品包括Genie,可以搜索产品、获取相关销售数据,最大特色是拥有数据报表软件,可以直观展现进销存数据,数据图形化。

4、Keywordtool(免费)

https://keywordtool.io/amazon

免费长尾关键词工具,可以查询到亚马逊,ebay,等关键词,但非付费用户无法查看到搜索量。对于关键词延伸有很好的帮助。

5、CamelCamelCamel(免费)

https://camelcamelcamel.com/

可以追踪亚马逊产品价格变化和历史价格数据,是众多亚马逊卖家选品必备的工具之一。

6、AMZFinder(免费试用1个月)

https://www.amzfinder.com/

针对亚马逊订单差评查找工具,新用户免费试用30天,另外无论是新老用户,每个月都有500封额度的索取评论邮件。

7、AMZTracker(付费)

http://www.amztrackers.com/

帮助了解关键字排名,从而优化商家信息并增加销售量。另外,还允许卖家查看他们的竞争对手销售,其中包括日常销售,总收入,可用库存等。

8、Google Keyword Planner(免费)

https://ads.google.com/intl/en_hk/start/

因为搜索的关键字数据 (购买意向和信息搜索)混合在一起,所以只能用于估计Amazon内容。

9、JungleScout(付费)

https://www.junglescout.cn/

可以使用网页版junglescout或者插件版junglescout搜索关键词调研,得到产品调研列表后,从中知道每个产品的估算销量以及估算利润,这样卖家们即可知晓某款产品热销与否,最终选择你想开发的款式及决定是否开发。

10、Bitly(免费)

https://bitly.com/

免费短链工具,辅助卖家做跟踪,中国区无法使用,需要绕开长城才能使用,主要针对海外买家。

11、CamelCamelCamel(免费)

https://camelcamelcamel.com/

可以帮助卖家追踪亚马逊产品价格变化和历史价格数据,是众多亚马逊卖家选品必备的工具之一。

12、Feedback Five(付费)

点击试用评论管理工具https://www.feedbackfive.com/

帮助亚马逊商家管理反馈分数的软件,会自动发送电子邮件给卖家关于买家的请求反馈。

13、Keepa(免费)

https://keepa.com/

类似camelcamelcamel,但新增了更多的功能,如查看竞争对手卖家数量,也是选品的必备工具之一。

14、Refund Retriever(付费)

https://www.refundretriever.com/

主要服务是包裹审计恢复和包裹管理,是一家包裹和物流审计公司,但只负责审计UPS和FedEx帐户,不与DHL或USPS合作。

15、KJSearch 跨境搜索(免费)

https://www.kjsearch.com/

针对跨境电商行业的定制搜索引擎,可以更精准地搜索跨境电商资讯,减少无用信息的干扰。

16、Sonar(免费)

http://sonar-tool.com/zh/

由Sellics开发的免费亚马逊关键词工具,操作方法非常简单。(来源:跨境电商卖家邦)

Liquid基础语法

 

Output输出

简单输出示例:

  1. Hello {{name}}
  2. Hello {{user.name}}
  3. Hello {{ 'tobi' }}

Advanced output: Filters 高级输出:过滤器

输出标记需要的过滤器。过滤器是简单的方法。第一个参数在过滤器的左侧就是过滤器的输入,即需要过滤的内容。过滤器的返回值将是过滤器运行时过滤后的左侧的参数。当没有更多的过滤器,模板会收到结果字符串。

代码示例:

  1. Hello {{ 'tobi' | upcase }}
  2. Hello tobi has {{ 'tobi' | size }} letters!
  3. Hello {{ '*tobi*' | textilize | upcase }}
  4. Hello {{ 'now' | date: "%Y %h" }}

Standard Filters标准过滤器

  • date -时间格式化
  • capitalize-设置输入中的某个单词*
  • downcase-将输入的字符串转换为小写*
  • upcase-将输入的字符串转换为大写
  • first-获得传入的数组的第一个元素
  • last-获得传入的数组的最后一个元素
  • join-用数组的分隔符连接数组中的元素
  • sort-数组中的元素排序
  • map-通过指定的属性过滤数组中的元素
  • size-返回一个数组或字符串的大小
  • escape-转义一个字符串
  • escape_once-返回HTML的转义版本,而不会影响现有的实体转义
  • strip_html-从字符串去除HTML
  • strip_newlines -从字符串中去除所有换行符(\ n)的
  • newline_to_br-用HTML标记替换每个换行符(\ n)
  • replace-替换,例如:{{ 'foofoo' | replace:'foo','bar' }} #=> 'barbar'
  • replace_first-替换第一个,例如: '{{barbar' | replace_first:'bar','foo' }} #=> 'foobar'
  • remove-删除,例如:{{'foobarfoobar' | remove:'foo' }} #=> 'barbar'
  • remove_first-删除第一个,例如:{{ 'barbar' | remove_first:'bar' }} #=> 'bar'
  • truncate-截取字符串到第x个字符
  • truncatewords-截取字符串到第x个词
  • prepend-前置添加字符串,例如:{{ 'bar' | prepend:'foo' }} #=> 'foobar'
  • append-后置追加字符串,例如:{{'foo' | append:'bar' }} #=> 'foobar'
  • minus-减法,例如:{{ 4 | minus:2 }} #=> 2
  • plus-加法,例如:{{'1' | plus:'1' }} #=> '11', {{ 1 | plus:1 }} #=> 2
  • times-乘法,例如:{{ 5 | times:4 }} #=> 20
  • divided_by-除法,例如:{{ 10 | divided_by:2 }} #=> 5
  • split-通过正则表达式切分字符串为数组,例如:{{"a~b" | split:"~" }} #=> ['a','b']
  • modulo-取模,例如:{{ 3 | modulo:2 }} #=> 1

标记

目前支持的标记的列表:

  • assign -将某个值赋给一个变量
  • capture-标记文本赋值给一个变量
  • case-标准的case...when代码块
  • comment-块标记,注释掉该块中的文本
  • cycle-通常在循环中使用的值之间交替,如颜色或DOM类。
  • for-for循环
  • if-标准的if/else代码块
  • include -包含另外一个模版
  • raw-暂时停用标签处理以避免出现语法冲突
  • unless-if的反义词

Comments

注释是最简单的标签,它会隐藏标记的内容。例如:

We made 1 million dollars {% comment %} in losses {% endcomment %} this year.

Raw

Raw暂时禁用标签处理。这是用于生成内容,它使用相互矛盾的语法非常有用。例如:

  1. {% raw %}
  2. In Handlebars, {{ this }} will be HTML-escaped, but {{{ that }}} will not.
  3. {% endraw %}

If / Else

if / else语句对任何其他编程语言都应该是众所周知的。Liquid允许使用if,unless,以及可选的elsifelse,例如:

  1. {% if user %}
  2. Hello {{ user.name }}
  3. {% endif %}
  1. # Same as above
  2. {% if user != null %}
  3. Hello {{ user.name }}
  4. {% endif %}
  1. {% if user.name == 'tobi' %}
  2. Hello tobi
  3. {% elsif user.name == 'bob' %}
  4. Hello bob
  5. {% endif %}
  1. {% if user.name == 'tobi' or user.name == 'bob' %}
  2. Hello tobi or bob
  3. {% endif %}
  1. {% if user.name == 'bob' and user.age > 45 %}
  2. Hello old bob
  3. {% endif %}
  1. {% if user.name != 'tobi' %}
  2. Hello non-tobi
  3. {% endif %}
  1. # Same as above
  2. {% unless user.name == 'tobi' %}
  3. Hello non-tobi
  4. {% endunless %}
  1. # Check for the size of an array
  2. {% if user.payments == empty %}
  3. you never paid !
  4. {% endif %}
  5.  
  6. {% if user.payments.size > 0 %}
  7. you paid !
  8. {% endif %}
  1. {% if user.age > 18 %}
  2. Login here
  3. {% else %}
  4. Sorry, you are too young
  5. {% endif %}
  1. # array = 1,2,3
  2. {% if array contains 2 %}
  3. array includes 2
  4. {% endif %}
  1. # string = 'hello world'
  2. {% if string contains 'hello' %}
  3. string includes 'hello'
  4. {% endif %}

 Case Statement

如果您需要更多的条件,您可以使用case语句:

  1. {% case condition %}
  2. {% when 1 %}
  3. hit 1
  4. {% when 2 or 3 %}
  5. hit 2 or 3
  6. {% else %}
  7. ... else ...
  8. {% endcase %}

例如:

  1. {% case template %}
  2. {% when 'label' %}
  3. // {{ label.title }}
  4. {% when 'product' %}
  5. // {{ product.vendor | link_to_vendor }} / {{ product.title }}
  6. {% else %}
  7. // {{page_title}}
  8. {% endcase %}

Cycle

通常你有不同的颜色或类似的任务之间切换。 Liquid已经内置了对此类操作的支持,使用cycle标记。

  1. {% cycle 'one', 'two', 'three' %}
  2. {% cycle 'one', 'two', 'three' %}
  3. {% cycle 'one', 'two', 'three' %}
  4. {% cycle 'one', 'two', 'three' %}

结果为:

  1. one
  2. two
  3. three
  4. one

如果未提供循环体的名称,那么它假设用同样的参数多次调用同一个循环体。

如果你想完全控制循环体,您可以选择指定循环体的名称。这甚至可以是一个变量。

  1. {% cycle 'group 1': 'one', 'two', 'three' %}
  2. {% cycle 'group 1': 'one', 'two', 'three' %}
  3. {% cycle 'group 2': 'one', 'two', 'three' %}
  4. {% cycle 'group 2': 'one', 'two', 'three' %}

得到结果为:

  1. one
  2. two
  3. one
  4. two

For loops

Liquid 可以使用for遍历集合。

  1. {% for item in array %}
  2. {{ item }}
  3. {% endfor %}

当遍历一个键值对集合时,item[0]是key的值,item[1]则是value的值。

  1. {% for item in hash %}
  2. {{ item[0] }}: {{ item[1] }}
  3. {% endfor %}

在每次for循环中,下面的辅助变量可用于额外的需求:

- 1.forloop.length # => for的循环总次数
- 2.forloop.index # => 当前循环的index,从1开始
- 3.forloop.index0 # => 当前循环的index,从0开始
- 4.forloop.rindex # => 当前循环剩余次数
- 5.forloop.rindex0 # => 当前循环剩余次数,从0开始
- 6.forloop.first # => 是否是循环的第一次
- 7.forloop.last #=> 是否是循环的最后一次

你还可以使用多个属性来过滤循环中的内容。

limit:int可以限制你有多少个项目获得 offset:int可以让你从第n项开始遍历。

  1. # array = [1,2,3,4,5,6]
  2. {% for item in array limit:2 offset:2 %}
  3. {{ item }}
  4. {% endfor %}
  5. # results in 3,4

倒序循环

  1. {% for item in collection reversed %}
  2. {{item}}
  3. {% endfor %}

你可以通过定义一系列的数字来代替现有的集合循环。范围可以通过包括文本和变量的数字来定义:

  1. # ...
  2. {% ..item.quantity) %}
  3. {{ i }}
  4. {% endfor %}
  5. # results ,,,

Variable Assignment

您可以将数据存储在自己的变量,在输出或其他标记随意使用。创建一个变量最简单的方法是使用assign标签,它有一个非常简单的语法:

  1. {% assign name = 'freestyle' %}
  2.  
  3. {% for t in collections.tags %}
  4. {% if t == name %}
  5. Freestyle!
  6. {% endif %}
  7. {% endfor %}

这样做的另一种方法是将分配true / false值的变量:

  1. {% assign freestyle = false %}
  2.  
  3. {% for t in collections.tags %}
  4. {% if t == 'freestyle' %}
  5. {% assign freestyle = true %}
  6. {% endif %}
  7. {% endfor %}
  8.  
  9. {% if freestyle %}
  10. Freestyle!
  11. {% endif %}
  1. 如果你想将多个字符串合并成一个单一的字符串,并将其保存到变量中,你可以使用capture标记。这个标签“捕获”内容无论它是否已经实现,然后分配捕获的值。而不是只能捕获屏幕上已经存在的内容。
  1. {% capture attribute_name %}{{ item.title | handleize }}-{{ i }}-color{% endcapture %}
  2. <label for="{{ attribute_name }}">Color:</label>
  3. <select id="{{ attribute_name }}" name="attributes[{{ attribute_name }}]">
  4. <option value="red">Red</option>
  5. <option value="green">Green</option>
  6. <option value="blue">Blue</option>
  7. </select>

 

摘自:
https://www.bbsmax.com/A/GBJrna7qJ0/

参考:

Liquid语法
https://www.jianshu.com/p/4224b8ea0ec0
Liquid
https://liquid.bootcss.com/basics/introduction/

History 对象

 

History 对象属性

属性 描述
length 返回浏览器历史列表中的 URL 数量。

History 对象方法

方法 描述
back() 加载 history 列表中的前一个 URL。
forward() 加载 history 列表中的下一个 URL。
go()加载 history 列表中的某个具体页面。

//此处添加500毫秒延迟,目的是等待历史记录变化之后再添加空地址,使空地址能准确添加到栈顶,防止出错
            setTimeout(() => {
                if (!(history.state && history.state.target == "Final")) {
                    window.history.pushState({target: "MeanSure", random: Math.random()}, "", location.href);
                    window.history.pushState({target: "Final", random: Math.random()}, "", location.href);
                }
                window.addEventListener("popstate", function (e) {
                    if (e.state && e.state.target == "MeanSure") {
                        if(TTTTSetp==2){
                            history.forward();
                            $("#NextButton").closest(".form-group").show();
                            $("#CardNumTips").hide();
                            $("#OpenPayBox").show();
                            $("#CardNum").prop("readonly", false);
                            $(".section_tab2").hide();
                            TTTTSetp=1;
                        }else{
                            var backCount=history.state.target == "Final"?-3:-2;
                            history.go(backCount);
                        }
                    }
                }, false);
            }, 500);

Location 对象

 

Location 对象属性

属性 描述
hash 设置或返回从井号 (#) 开始的 URL(锚)。
host 设置或返回主机名和当前 URL 的端口号。
hostname 设置或返回当前 URL 的主机名。
href 设置或返回完整的 URL。
pathname 设置或返回当前 URL 的路径部分。
port 设置或返回当前 URL 的端口号。
protocol 设置或返回当前 URL 的协议。
search 设置或返回从问号 (?) 开始的 URL(查询部分)。

Location 对象方法

属性 描述
assign() 加载新的文档。
reload() 重新加载当前文档。
replace()用新的文档替换当前文档。

改变图片bate大小 JS

// 改变图片bate大小
    function changeImageBate(file, callback) {
        var reader = new FileReader();
        reader.readAsDataURL(file);
        reader.onload = function (e) {
            var img = new Image();
            img.src = e.target.result;
            img.onload = function () {
                var canvas = document.createElement('canvas'),
                    context = canvas.getContext('2d'),
                    imgWidth = 450,
                    imgHeight = parseInt((450 / img.width) * img.height),
                    data = '';
                canvas.width = imgWidth, canvas.height = imgHeight;
                context.drawImage(img, 0, 0, imgWidth, imgHeight);
                data = canvas.toDataURL(file.type);  //转换为base64
                var arr = data.split(','), mime = arr[0].match(/:(.*?);/)[1],
                    bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
                while(n--){
                    u8arr[n] = bstr.charCodeAt(n);
                }
                var newFile = new File([u8arr], file.name, { type: mime });  //转换为file
                if (typeof callback == 'function') {
                    callback(newFile)
                }
            }
        }
    }

用windows的netsh实现端口映射(端口转发)

 
优点:
(1)部署简单。
Windows自带,支持IPv4和IPv6
(2)不用重启机器,还长记性。
命令即时生效,重启系统后配置仍然存在.
缺点:
(1)不支持UDP
(2)XP/2003需要先安裝IPV6,Win7以上系统自带.

用法:下面都是命令行
(1)安装环境支持netsh interface ipv6 install
(2)查看已配置的“端口映射”清单netsh interface portproxy show v4tov4
(3)添加“端口映射”netsh interface portproxy add v4tov4 listenaddress=192.168.222.145 listenport=15001 connectaddress=192.168.222.63 connectport=81将本机(192.168.222.145)的15001端口映射到192.168.222.63的81端口
(4)删除“端口映射”netsh interface portproxy delete v4tov4 listenaddress=192.168.222.145 listenport=15001

搜索引擎网站收录地址大全

>> 搜索引擎网站收录地址大全 【点此提交您的搜索引擎】
360搜索引擎登录入口:http://info.so.360.cn/site_submit.html
即刻搜索网站提交入口:http://zz.jike.com/submit/genUrlForm
盘古数据开放平台:http://open.panguso.com/data/resource/url/new
百度搜索网站登录口:http://www.baidu.com/search/url_submit.html
百度单个网页提交入口:http://zhanzhang.baidu.com/sitesubmit
Google网站登录口:https://www.google.com/webmasters/tools/submit-url
Google新闻网站内容:http://www.google.com/support/news_pub/bin/request.py?contact_type=suggest_content&hl=cn
bing(必应)网页提交登录入口:http://www.bing.com/toolbox/submit-site-url
简搜搜索引擎登陆口:http://www.jianso.com/add_site.html
搜狗网站收录提交入口:http://www.sogou.com/feedback/urlfeedback.php
SOSO搜搜网站收录提交入口:http://www.soso.com/help/usb/urlsubmit.shtml
雅虎中国网站登录口:http://sitemap.cn.yahoo.com/ ;

网易有道搜索引擎登录口:http://tellbot.youdao.com/report
中搜免费登录服务:http://register.zhongsou.com/NetSearch/frontEnd/free_protocol.htm
MSN必应网站登录口:http://cn.bing.com/docs/submit.aspx?FORM=WSDD2
Alexa网站登录入口:http://www.alexa.com/help/webmasters
TOM搜索网站登录口:http://search.tom.com/tools/weblog/log.php
铭万网B2B(必途)网址登陆口:http://search.b2b.cn/pageIncluded/AddPage.php
蚁搜搜索网站登录口:http://www.antso.com/apply.asp
快搜搜索网站登录口:http://www.kuaisou.com/main/inputweb.asp
汕头搜索登录口:http://www.stsou.com/join.asp
孙悟空搜索网站登录:http://www.swkong.com/add.php
天网网站登陆口:http://home.tianwang.com/denglu.htm
速搜全球登陆口:http://www.suso.com.cn/suso/link.asp
酷帝网站目录提交入口:http://www.coodir.com/accounts/addsite.asp
快搜网站登陆口:http://www.kuaisou.com/main/inputweb.asp
搜猫搜索引擎登录入口:http://test.somao123.com/search/url_submit.php
泽许搜索网站登录入口:http://www.zxyt.cn/guide/?m=adc4&Nsid=a3c6847db163587d&wver=t
一淘网开放搜索申请入口:http://open.etao.com/apply_intro.htm?spm=0.0.0.40.9VF4FQ
提交收入的链接口
建议提交。挣断的链接

CronTrigger时间格式配置说明

1、   CronTrigger时间格式配置说明

CronTrigger配置格式:

格式: [] [] [小时] [] [] [] []

序号

说明

是否必填

允许填写的值

允许的通配符

1

0-59 

, - * /

2

0-59

, - * /

3

小时

0-23

, - * /

4

1-31

, - * ? / L W

5

1-12 or JAN-DEC

, - * /

6

1-7 or SUN-SAT

, - * ? / L #

7

empty 1970-2099

, - * /

通配符说明:

* :表示所有值. 例如:在分的字段上设置 "*",表示每一分钟都会触发。
?
:表示不指定值。使用的场景为不需要关心当前设置这个字段的值。例如:要在每月的10号触发一个操作,但不关心是周几,所以需要周位置的那个字段设置为"?" 具体设置为 0 0 0 10 * ?
-
:表示区间。例如 在小时上设置 "10-12",表示 10,11,12点都会触发。

,
:表示指定多个值,例如在周字段上设置 "MON,WED,FRI" 表示周一,周三和周五触发
/
:用于递增触发。如在秒上面设置"5/15" 表示从5秒开始,每增15秒触发(5,20,35,50)。 在月字段上设置'1/3'所示每月1号开始,每隔三天触发一次。
L
:表示最后的意思。在日字段设置上,表示当月的最后一天(依据当前月份,如果是二月还会依据是否是润年[leap]), 在周字段上表示星期六,相当于"7""SAT"。如果在"L"前加上数字,则表示该数据的最后一个。

例如在周字段上设置"6L"这样的格式,则表示本月最后一个星期五"

W :表示离指定日期的最近那个工作日(周一至周五). 例如在日字段上设置"15W",表示离每月15号最近的那个工作日触发。如果15号正好是周六,则找最近的周五(14)触发, 如果15号是周未,则找最近的下周一(16)触发.如果15号正好在工作日(周一至周五),则就在该天触发。如果指定格式为 "1W",它则表示每月1号往后最近的工作日触发。如果1号正是周六,则将在3号下周一触发。(注,"W"前只能设置具体的数字,不允许区间"-").

'L' 'W'可以一组合使用。如果在日字段上设置"LW",则表示在本月的最后一个工作日触发

 

# :序号(表示每月的第几周星期几),例如在周字段上设置"6#3"表示在每月的第三个周星期六.注意如果指定"6#5",正好第五周没有星期六,则不会触发该配置(用在母亲节和父亲节再合适不过了)

周字段的设置,若使用英文字母是不区分大小写的 MON mon相同.

常用示例:

格式: [] [] [小时] [] [] [] []

0 0 12 * * ?           每天12点触发
0 15 10 ? * *          
每天1015分触发

0 15 10 * * ?          
每天1015分触发
 
0 15 10 * * ? *       
每天1015分触发
 
0 15 10 * * ? 2005     2005
年每天1015分触发

0 * 14 * * ?           
每天下午的 2点到259分每分触发

0 0/5 14 * * ?         
每天下午的 2点到259(整点开始,每隔5分触发

0 0/5 14,18 * * ?       
每天下午的 18点到1859(整点开始,每隔5分触发)

0 0-5 14 * * ?            每天下午的 2点到205分每分触发
0 10,44 14 ? 3 WED        3
月分每周三下午的 210分和244分触发

0 15 10 ? * MON-FRI       
从周一到周五每天上午的1015分触发

0 15 10 15 * ?            
每月15号上午1015分触发

0 15 10 L * ?             
每月最后一天的1015分触发

0 15 10 ? * 6L            
每月最后一周的星期五的1015分触发

0 15 10 ? * 6L 2002-2005 
2002年到2005年每月最后一周的星期五的1015分触发

0 15 10 ? * 6#3           每月的第三周的星期五开始触发
0 0 12 1/5 * ?            
每月的第一个中午开始每隔5天触发一次

0 11 11 11 11 ?           
每年的1111 1111分触发(光棍节)