extractScripts()
instance
(none)
返回一个包含在string中找到的所有
在prototype.js中定义新的对象和类
另一个这个程序包帮助你的地方就是提供许多既支持面向对象设计理念又有共通功能的许多对象。
The PeriodicalExecuter object
这个对象提供一定间隔时间上重复调用一个方法的逻辑。
Method
Kind
Arguments
Description
[ctor](callback, interval)
constructor
callback: a parameterless function, interval: number of seconds
创建这个对象的实例将会重复调用给定的方法。
Property
Type
Description
callback
Function()
被调用的方法,该方法不能传入参数。
frequency
Number
以秒为单位的间隔。
currentlyExecuting
Boolean
表示这个方法是否正在执行。
The Prototype object
Prototype 没有太重要的作用,只是声明了该程序包的版本 。
Property
Type
Description
Version
String
版本。
emptyFunction
Function()
空函数。
K
Function(obj)
一个仅仅回传参数的函数。
ScriptFragment
String
识别script的正则式。
The Enumerable object
Enumberable对象能够已更优雅的方式实现对列表样式的结构进行枚举。
很多其它的对象通过扩展自Enumberable对象来得到这些有用的接口。
Method
Kind
Arguments
Description
each(iterator)
instance
iterator: a function object conforming to Function(value, index)
把每个element做为第一个参数,element的index作为第一个参数调用iterator函数。
all([iterator])
instance
iterator: a function object conforming to Function(value, index)
这个函数会用给出的iterator测试整个集合,如果集合中任一元素在iterator函数测试中返回false或null,那么这个函数返回false,否则返回true。如果没有给出iterator,那么就会测试所有的元素是不是不等于false和null。你可以简单的把它看成是“检测每个元素都为非空非负”。
any(iterator)
instance
iterator: a function object conforming to Function(value, index), optional.
这个函数会用给出的iterator测试整个集合,如果集合中任一元素在iterator函数测试中返回true,那么这个函数返回true,否则返回false。如果没有给出iterator,那么就会测试所有的元素是不是有一个不等于false和null。你可以简单的把它看成是“检测元素中是不是有非空非负的”。
collect(iterator)
instance
iterator: a function object conforming to Function(value, index)
调用iterator函数根据集合中每个元素返回一个结果,然后按照原来集合中的顺序,返回一个Array。
detect(iterator)
instance
iterator: a function object conforming to Function(value, index)
集合中每个元素调用一次Iterator,返回第一个使Iterator返回True的元素,如果最终都没有为true的调用,那么返回null。
entries()
instance
(none)
等于toArray() .
find(iterator)
instance
iterator: a function object conforming to Function(value, index)
等于 detect() .
findAll(iterator)
instance
iterator: a function object conforming to Function(value, index)
集合中每个元素调用Iterator,返回一个由所有调用Iterator返回结果等于true的元素组成的数组。和reject()相反。
grep(pattern [, iterator])
instance
pattern: a RegExp object used to match the elements, iterator: a function object conforming to Function(value, index)
用pattern参数正则表达式测试集合中的每个元素,返回一个包含所有匹配正则式的元素的Array,如果给出了Iterator,那个每个结果还要经过一下Iterator处理。
include(obj)
instance
obj: any object
判断集合中包不包含指定对象。
inject(initialValue, iterator)
instance
initialValue: any object to be used as the initial value, iterator: a function object conforming to Function(accumulator, value, index)
用Iterator联接所有集合中的元素。Iterator在被调用时把上一次迭代的结果做为第一个参数传给accumulator。第一次迭代时,accurmelator等于initialValue,最后返回accumulator的值。
invoke(methodName [, arg1 [, arg2 [...]]])
instance
methodName: name of the method that will be called in each element, arg1..argN: arguments that will be passed in the method invocation.
集合中的每个元素调用指定的函数(查看源代码可以发现指定函数被调用时,this指针被传成当前元素),并传入给出的参数,返回调用结果组成的Array。
map(iterator)
instance
iterator: a function object conforming to Function(value, index)
同collect() .
max([iterator])
instance
iterator: a function object conforming to Function(value, index)
返回集合中元素的最大值,或调用Iterator后返回值的最大值(如果给出了Iterator的话)。
member(obj)
instance
obj: any object
同 include() .
min([iterator])
instance
iterator: a function object conforming to Function(value, index)
返回最小值,参见max()。
partition([iterator])
instance
iterator: a function object conforming to Function(value, index)
返回一个包含两个Array的Array,第一个Array包含所有调用Iterator返回True的元素,第二个Array包含剩下的元素。如果Iterator没有给出,那么就根据元素本身判断。
pluck(propertyName)
instance
propertyName name of the property that will be read from each element. This can also contain the index of the element
返回每个元素的指定属性名的属性的值组成的Array。
reject(iterator)
instance
iterator: a function object conforming to Function(value, index)
和 findAll()相反(返回所有等于false的元素) .
select(iterator)
instance
iterator: a function object conforming to Function(value, index)
同 findAll() .
sortBy(iterator)
instance
iterator: a function object conforming to Function(value, index)
根据每个元素调用Iterator返回的值进行排序返回一个Array。
toArray()
instance
(none)
返回由集合所有元素组成的一个Array。
zip(collection1[, collection2 [, ... collectionN [,transform]]])
instance
collection1 .. collectionN: enumerations that will be merged, transform: a function object conforming to Function(value, index)
合并每个给出的集合到当前集合。合并操作返回一个新的array,这个array的元素个数和原集合的元素个数一样,这个array的每个元素又是一个子array,它合并了所有集合中相同index的元素。如果transform函数被指定,那么array的每个元素还会调用transform函数先做处理。举个例子: [1,2,3].zip([4,5,6], [7,8,9]).inspect() 返回 "[ [1,4,7],[2,5,8],[3,6,9] ]"
The Hash object
Hash对象实现一种Hash结构,也就是一个Key:Value对的集合。
Hash中的每个Item是一个有两个元素的array,前一个是Key,后一个是Value,每个Item也有两个不需加以说明的属性,key和value。
Method
Kind
Arguments
Description
keys()
instance
(none)
返回所有Item的key的集合的一个array。
values()
instance
(none)
返回所有Item的value的集合的一个array。
merge(otherHash)
instance
otherHash: Hash object
合并给出的Hash,返回一个新Hash。
toQueryString()
instance
(none)
以QueryString那样的样式返回hash中所有的item,例如: 'key1=value1&key2=value2&key3=value3'
inspect()
instance
(none)
用一种合适的方法显示hash中的key:value对。
The ObjectRange class
继承自 Enumerable
用上、下边界描述一个对象区域。
Property
Type
Kind
Description
start
(any)
instance
range的下边界
end
(any)
instance
range的上边界
exclusive
Boolean
instance
决定边界自身是不是range的一部分。
Method
Kind
Arguments
Description
[ctor](start, end, exclusive)
constructor
start: the lower bound, end: the upper bound, exclusive: include the bounds in the range?
创建一个range对象,从start生成到end,这里要注意的是,start和end必段类型一致,而且该类型要有succ()方法。
include(searchedValue)
instance
searchedValue: value that we are looking for
检查一个value是不是在range中。
The Class object
在这个程序包中 Class 对象在声明其他的类时候被用到 。用这个对象声明类使得新类支持 initialize() 方法,他起构造方法的作用。
看下面的例子
//declaring the classvar MySampleClass = Class.create(); //defining the rest of the class implmentation MySampleClass.prototype = { initialize: function(message) { this.message = message; }, showMessage: function(ajaxResponse) { alert(this.message); } }; //now, let's instantiate and use one object var myTalker = new MySampleClass('hi there.'); myTalker.showMessage(); //displays alert
Method
Kind
Arguments
Description
create(*)
instance
(any)
定义新类的构造方法。
The Ajax object
这个对象被用作其他提供AJAX功能的类的根对象。
Property
Type
Kind
Description
activeRequestCount
Number
instance
正在处理中的Ajax请求的个数。
Method
Kind
Arguments
Description
getTransport()
instance
(none)
返回新的XMLHttpRequest 对象。
The Ajax.Responders object
继承自 Enumerable
这个对象维持一个在Ajax相关事件发生时将被调用的对象的列表。比如,你要设置一个全局钩子来处理Ajax操作异常,那么你就可以使用这个对象。
Property
Type
Kind
Description
responders
Array
instance
被注册到Ajax事件通知的对象列表。
Method
Kind
Arguments
Description
register(responderToAdd)
instance
responderToAdd: object with methods that will be called.
被传入参数的对象应包含名如Ajax事件的系列方法(如onCreate,onComplete,onException)。通讯事件引发所有被注册的对象的合适名称的函数被调用。
unregister(responderToRemove)
instance
responderToRemove: object to be removed from the list.
从列表中移除。
dispatch(callback, request, transport, json)
instance
callback: name of the AJAX event being reported, request: the Ajax.Request object responsible for the event, transport: the XMLHttpRequest object that carried (or is carrying) the AJAX call, json: the X-JSON header of the response (if present)
遍历被注册的对象列表,找出有由callback参数决定的那个函数的对象。然后向这些函数传递其它的三个参数,如果Ajax响应中包含一个含有JSON内容的X-JSON HTTP头,那么它会被热行并传入json参数。如果事件是onException,那么transport参数会被异常代替,json不会传递。
The Ajax.Base class
这个类是其他在Ajax对象中定义的类的基类。
Method
Kind
Arguments
Description
setOptions(options)
instance
options: AJAX options
设定AJAX操作想要的选项。
responseIsSuccess()
instance
(none)
返回 true 如果AJAX操作成功,否则为 false 。
responseIsFailure()
instance
(none)
与 responseIsSuccess() 相反。
The Ajax.Request class
继承自 Ajax.Base
封装 AJAX 操作
Property
Type
Kind
Description
Events
Array
static
在AJAX操作中所有可能报告的事件/状态的列表。这个列表包括: 'Uninitialized', 'Loading', 'Loaded', 'Interactive', 和 'Complete' 。
transport
XMLHttpRequest
instance
承载AJAX操作的 XMLHttpRequest 对象。
url
string
instance
请求的URL。
Method
Kind
Arguments
Description
[ctor](url, options)
constructor
url: the url to be fetched, options: AJAX options
创建这个对象的一个实例,它将在给定的选项下请求url。onCreate事件在调用constructor事被激发。 重要: 如果选择的url受到浏览器的安全设置,他会一点作用也不起。 很多情况下,浏览器不会请求与当前页面不同主机(域名)的url。 你最好只使用本地url来避免限制用户配置他们的浏览器(谢谢Clay)
evalJSON()
instance
(none)
这个方法显然不会被外部调用。它在Ajax响应中含有X-JSON HTTP头时用于内部调用执行这些内容。
evalReponse()
instance
(none)
这也方法显然不会被外部调用,如果Ajax响应含有一个值为text/javascript的Cotent-Type头,那么这个方法就用被调用执行响应体。
header(name)
instance
name: HTTP header name
引用Ajax响应的头的内容,在Ajax访问结束后再调用这个方法。
onStateChange()
instance
(none)
这个方法通常不会被外部调用。 当AJAX请求状态改变的时候被这个对象自己调用。
request(url)
instance
url: url for the AJAX call
这个方法通常不会被外部调用。已经在构造方法中调用了。
respondToReadyState(readyState)
instance
readyState: state number (1 to 4)
这个方法通常不会被外部调用。 当AJAX请求状态改变的时候被这个对象自己调用。
setRequestHeaders()
instance
(none)
这个方法通常不会被外部调用。 被这个对象自己调用来配置在HTTP请求要发送的HTTP报头。
The options argument object
An important part of the AJAX operations is the options argument. There's no options class per se. Any object can be passed, as long as it has the expected properties. It is common to create anonymous objects just for the AJAX calls.
Property
Type
Default
Description
method
String
'post'
HTTP 请求方式。
parameters
String
''
在HTTP请求中传入的url格式的值列表。
asynchronous
Boolean
true
指定是否做异步 AJAX 请求。
postBody
String
undefined
在HTTP POST的情况下,传入请求体中的内容。
requestHeaders
Array
undefined
和请求一起被传入的HTTP头部列表, 这个列表必须含有偶数个项目, 任何奇数项目是自定义的头部的名称, 接下来的偶数项目使这个头部项目的字符串值。 例子:['my-header1', 'this is the value', 'my-other-header', 'another value']
onXXXXXXXX
Function(XMLHttpRequest, Object)
undefined
在AJAX请求中,当相应的事件/状态形成的时候调用的自定义方法。 例如 var myOpts = {onComplete: showResponse, onLoaded: registerLoaded}; . 这个方法将被传入一个参数, 这个参数是承载AJAX操作的 XMLHttpRequest 对象,另一个是包含被执行X-JSON响应HTTP头。
onSuccess
Function(XMLHttpRequest, Object)
undefined
当AJAX请求成功完成的时候调用的自定义方法。 这个方法将被传入一个参数, 这个参数是承载AJAX操作的 XMLHttpRequest 对象,另一个是包含被执行X-JSON响应HTTP头。
onFailure
Function(XMLHttpRequest, Object)
undefined
当AJAX请求完成但出现错误的时候调用的自定义方法。这个方法将被传入一个参数, 这个参数是承载AJAX操作的 XMLHttpRequest 对象,另一个是包含被执行X-JSON响应HTTP头。
onException
Function(Ajax.Request, exception)
undefined
当一个在客户端执行的Ajax发生像无效响应或无效参数这样的异常情况时被调用的自定义函数。它收到两个参数,包含异常Ajax操作的Ajax.Request对象和异常对象。
insertion
an Insertion class
undefined
一个能决定怎么样插入新内容的类,能 Insertion.Before, Insertion.Top, Insertion.Bottom, 或 Insertion.After. 只能应用于Ajax.Updater 对象.
evalScripts
Boolean
undefined, false
决定当响应到达的时候是否执行其中的脚本块,只在 Ajax.Updater 对象中应用。
decay
Number
undefined, 1
决定当最后一次响应和前一次响应相同时在 Ajax.PeriodicalUpdater 对象中的减漫访问的次数, 例如,如果设为2,后来的刷新和之前的结果一样, 这个对象将等待2个设定的时间间隔进行下一次刷新, 如果又一次一样, 那么将等待4次,等等。 不设定这个只,或者设置为1,将避免访问频率变慢。
frequency
Number
undefined, 2
用秒表示的刷新间的间隔,只能应用于 Ajax.PeriodicalUpdater 对象。
The Ajax.Updater class
继承自 Ajax.Request
当请求的url返回一段HTML而你想把它直接放置到页面中一个特定的元素的时候被用到。 如果url的返回 的块并且想在接收到时就执行它的时候也可以使用该对象。含有脚本的时候使用 evalScripts 选项。
Property
Type
Kind
Description
containers
Object
instance
这个对象包含两个属性:AJAX请求成功执行的时候用到 containers.success , 否则的话用到 containers.failure 。
Method
Kind
Arguments
Description
[ctor](container, url, options)
constructor
container:this can be the id of an element, the element object itself, or an object with two properties - object.success element (or id) that will be used when the AJAX call succeeds, and object.failure element (or id) that will be used otherwise. url: the url to be fetched, options: AJAX options
创建一个用给定的选项请求给定的url的一个实例。
updateContent()
instance
(none)
这个方法通常不会被外部调用。 当响应到达的时候,被这个对象自己调用。 它会用HTML更新适当的元素或者调用在 insertion 选项中传入的方法-这个方法将被传入两个参数, 被更新的元素和响应文本。
The Ajax.PeriodicalUpdater class
继承自Ajax.Base
这个类重复生成并使用 Ajax.Updater 对象来刷新页面中的一个元素。或者执行 Ajax.Updater 可以执行的其它任务。更多信息参照 Ajax.Updater 参考 。
Property
Type
Kind
Description
container
Object
instance
这个值将直接传入Ajax.Updater 的构造方法。
url
String
instance
这个值将直接传入Ajax.Updater 的构造方法。
frequency
Number
instance
两次刷新之间的间隔 (不是频率) ,以秒为单位。 默认2秒。 This 当调用 Ajax.Updater 对象的时候,这个数将和当前的 decay 相乘。
decay
Number
instance
重负执行任务的时候保持的衰败水平。
updater
Ajax.Updater
instance
最后一次使用的 Ajax.Updater 对象
timer
Object
instance
通知对象该下一次更新时用到的JavaScript 计时器。
Method
Kind
Arguments
Description
[ctor](container, url, options)
constructor
container:this can be the id of an element, the element object itself, or an object with two properties - object.success element (or id) that will be used when the AJAX call succeeds, and object.failure element (or id) that will be used otherwise. url: the url to be fetched, options: AJAX options
创建一个用给定的选项请求给定的url的一个实例。
start()
instance
(none)
这个方法通常不会被外部调用。 对象为了开始周期性执行任务的时候调用的方法。
stop()
instance
(none)
使对象停止执行周期任务。停止后,如果有onComplete选项,那么引发callback。
updateComplete()
instance
(none)
这个方法通常不会被外部调用。 被当前的 Ajax.Updater 使用,当一次请求结束的时候,它被用作计划下一次请求。
onTimerEvent()
instance
(none)
这个方法通常不会被外部调用。当到下一次更新时被内部调用。
The Element object
这个对象提供在操作DOM中元素时使用的功能性方法。
Method
Kind
Arguments
Description
addClassName(element, className)
instance
element: element object or id, className: name of a CSS class
将给出的className添加到对象的className属性中。
classNames(element)
instance
element: element object or id
返回一个Element.ClassName的对象表示CSS 给出对象有的class names。
cleanWhitespace(element)
instance
element: element object or id
清除对象子元素中所有空白的text node。
empty(element)
instance
element: element object or id
返回一个布尔值指示对象为空或只有空白字符。
getDimensions(element)
instance
element: element object or id
返回对象的尺寸,返回值有两个属性,height和width。
getHeight(element)
instance
element: element object or id
返回元素的 offsetHeight 。
getStyle(element, cssProperty)
instance
element: element object or id, cssProperty name of a CSS property (either format 'prop-name' or 'propName' works).
返回给定对象的CSS属性值或没有指定cssProperty时返回null。
hasClassName(element, className)
instance
element: element object or id, className: name of a CSS class
返回 true 如果元素的类名中含有给定的类名
hide(elem1 [, elem2 [, elem3 [...]]])
instance
elemN: element object or id
通过设定style.display 为 'none' 来隐藏每个传入的元素。
makeClipping(element)
instance
element: element object or id
能过设定overflow的值设定内容溢出剪辑。
makePositioned(element)
instance
element: element object or id
更改对象的style.position为'relative'。
remove(element)
instance
element: element object or id
从document对象中删除指定的元素。
removeClassName(element, className)
instance
element: element object or id, className: name of a CSS class
从元素的类名中删除给定的类名。
scrollTo(element)
instance
element: element object or id
滚动window到对象的位置。
setStyle(element, cssPropertyHash)
instance
element: element object or id, cssPropertyHash Hash object with the styles to be applied.
依照cssPropertyHash参数给对象设置CSS属性值。
show(elem1 [, elem2 [, elem3 [...]]])
instance
elemN: element object or id
用设定它的 style.display 为 '' 来显示每个传入的元素。
toggle(elem1 [, elem2 [, elem3 [...]]])
instance
elemN: element object or id
切换每一个传入元素的可视性。
undoClipping(element)
instance
element: element object or id
style.overflow的值返回上一个设定值。
undoPositioned(element)
instance
element: element object or id
清除对象的 style.position 为 ''
update(element, html)
instance
element: element object or id, html: html content
用给出的HTML参数替换对象的innerHTML,如果HTML参数中包含
将把 HTML 变为
Hello,
Chief Wiggum. How's it going?
The Insertion.Top class
继承自 Abstract.Insertion
在给定元素第一个子节点位置插入 HTML。内容将位于元素的开始标记的紧后面。
Method
Kind
Arguments
Description
[ctor](element, content)
constructor
element: element object or id, content: HTML to be inserted
继承自 Abstract.Insertion. 创建一个可以帮助插入动态内容的对象。
下面的代码
Hello, Wiggum. How's it going?
将把 HTML 变为
Hello,
Mr. Wiggum. How's it going?
The Insertion.Bottom class
Inherits from Abstract.Insertion
在给定元素最后一个子节点位置插入 HTML。内容将位于元素的结束标记的紧前面。
Method
Kind
Arguments
Description
[ctor](element, content)
constructor
element: element object or id, content: HTML to be inserted
Inherited from Abstract.Insertion. Creates an object that will help with dynamic content insertion.
The following code
Hello, Wiggum. How's it going?
Will change the HTML to
Hello, Wiggum. How's it going? What's up?
The Insertion.After class
Inherits from Abstract.Insertion
在给定元素结束标记的后面插入HTML。
Method
Kind
Arguments
Description
[ctor](element, content)
constructor
element: element object or id, content: HTML to be inserted
Inherited from Abstract.Insertion. Creates an object that will help with dynamic content insertion.
The following code
Hello, Wiggum. How's it going?
Will change the HTML to
Hello, Wiggum. How's it going? Are you there?
The Field object
这个对象提供操作表单中的输入项目的功能性方法。
Method
Kind
Arguments
Description
clear(field1 [, field2 [, field3 [...]]])
instance
fieldN: field element object or id
清除传入表单中项目元素的值。
present(field1 [, field2 [, field3 [...]]])
instance
fieldN: field element object or id
只有在所有的表单项目都不为空时返回 true 。
focus(field)
instance
field: field element object or id
移动焦点到给定的表单项目。
select(field)
instance
field: field element object or id
选择支持项目值选择的表单项目的值。
activate(field)
instance
field: field element object or id
移动焦点并且选择支持项目值选择的表单项目的值。
The Form object
这个对象提供操作表单和他们的输入元素的功能性方法。
The Form.Element object
这个对象提供表单对象中的可视和非可视元素的功能性方法。
Method
Kind
Arguments
Description
serialize(element)
instance
element: element object or id
返回元素的 名称=值 对, 如 'elementName=elementValue'。
getValue(element)
instance
element: element object or id
返回元素的值。
The Form.Element.Serializers object
这个对象提供了内部使用的用来协助解析出表单元素的当前值的一些有用的方法。
Method
Kind
Arguments
Description
inputSelector(element)
instance
element: object or id of a form element that has the checked property, like a radio button or checkbox.
返回带有元素名称和值的 Array , 如 ['elementName', 'elementValue']
textarea(element)
instance
element: object or id of a form element that has the value property, like a textbox, button or password field.
返回带有元素名称和值的 Array , 如 ['elementName', 'elementValue']
select(element)
instance
element: object of a element
返回带有元素名称和所有被选择的选项的值或文本的 Array , 如 ['elementName', 'selOpt1 selOpt4 selOpt9']
The Abstract.TimedObserver class
这个类是用于其它监听一个元素的值(或者任何类中涉及的属性)变化的类的基类,这个类像一个抽象类一样被使用。
子类可以被创建来监听如输入项目值,或style属性,或表格的行数,或者其他任何对跟踪变化相关的东西。
子类必须实现这个方法来决定什么才是被监听的元素的当前值。
Method
Kind
Arguments
Description
[ctor](element, frequency, callback)
constructor
element: element object or id, frequency: interval in seconds, callback: function to be called when the element changes
创建一个监听元素的对象。
getValue()
instance, abstract
(none)
子类必须实现这个方法以瘊定什么这个元素被监视的当前值。
registerCallback()
instance
(none)
这个方法通常不会被外部调用。 被这个对象自己调用来开始监听那个元素。
onTimerEvent()
instance
(none)
这个方法通常不会被外部调用。 被这个对象自己调用来周期性的检查那个元素。
Property
Type
Description
element
Object
被监听的元素对象。
frequency
Number
每次检查中的以秒为单位的时间间隔。
callback
Function(Object, String)
只要元素改变这个方法就会被调用。 会接收到元素对象和新值作为参数。
lastValue
String
元素被核实的最后一个值。
The Form.Element.Observer class
继承自 Abstract.TimedObserver
Abstract.TimedObserver 的一个实现类用来监听表单输入项目的值的变化。当你想监听一个没有带报告值变化事件的元素的时候使用这个类。否则的话使用 Form.Element.EventObserver 类代替。
Method
Kind
Arguments
Description
[ctor](element, frequency, callback)
constructor
element: element object or id, frequency: interval in seconds, callback: function to be called when the element changes
继承自 Abstract.TimedObserver . 创建一个监听元素值属性的对象。
getValue()
instance
(none)
返回元素的值。
The Form.Observer class
继承自 Abstract.TimedObserver
Abstract.TimedObserver 的一个实现类用来监听表单中任何数据项的值的变化。当你想监听一个没有带报告值变化事件的元素的时候使用这个类。 否则的话使用类Form.EventObserver 代替。
Method
Kind
Arguments
Description
[ctor](form, frequency, callback)
constructor
form: form object or id, frequency: interval in seconds, callback function to be called when any data entry element in the form changes
继承自 Abstract.TimedObserver . 创建一个监听表单变化的对象。
getValue()
instance
(none)
返回所有表单数据的一系列值。
The Abstract.EventObserver class
这个类被用作其他一些类的基类,这些类具有在一个元素的值改变事件发生的时候执行一个回调方法这样的功能。
类 Abstract.EventObserver 的多个对象可以绑定到一个元素上,不是一个帮其他的擦出了,而是按照他们付给元素的顺序执行这些回调方法。
单选按钮和复选框的触发事件是 onclick ,而文本框和下拉列表框/下拉列表框的是 onchange 。
Method
Kind
Arguments
Description
[ctor](element, callback)
constructor
element: element object or id, callback: function to be called when the event happens
创建监听元素的对象。
getValue()
instance,abstract
(none)
子类必须实现这个方法以瘊定什么这个元素被监视的当前值。
registerCallback()
instance
(none)
这个方法通常不会被外部调用。 被对象调用来把自己绑定到元素的事件上。
registerFormCallbacks()
instance
(none)
这个方法通常不会被外部调用。 被对象调用来把自己绑定到表单中的每一个数据项元素的事件上。
onElementEvent()
instance
(none)
这个方法通常不会被外部调用。 将被绑定到元素的事件上。
Property
Type
Description
element
Object
被监听的元素对象。
callback
Function(Object, String)
只要元素改变就调用的方法。会接收到元素对象和新值作为参数。
lastValue
String
元素被核实的最后一个值。
The Form.Element.EventObserver class
继承自 Abstract.EventObserver
Abstract.EventObserver 的一个实现类,它在监测到表单中数据项元素的值改变的相应事件时候执行一个回调方法。 如果元素没有任何报告变化的事件,那么你可以使用 Form.Element.Observer 类代替。
Method
Kind
Arguments
Description
[ctor](element, callback)
constructor
element: element object or id, callback: function to be called when the event happens
继承自 Abstract.EventObserver 。 创建一个监听元素值属性的对象。
getValue()
instance
(none)
返回元素的值。
The Form.EventObserver class
继承自 Abstract.EventObserver
Abstract.EventObserver 的一个实现类,监听表单对象中包含的任何对象的任何变化,用元素的事件检测值的变化。如果元素没有任何报告变化的事件, 那么你可以使用Form.Observer 类代替。
Method
Kind
Arguments
Description
[ctor](form, callback)
constructor
form: form object or id, callback: function to be called when any data entry element in the form changes
继承自 Abstract.EventObserver 。 创建一个监听元素值属性的对象。
getValue()
instance
(none)
返回所有表单数据的一系列值。
Position 对象 (预备文档)
这个对象提供许多和元素位置相关的方法。
Method
Kind
Arguments
Description
prepare()
instance
(none)
调整 deltaX 和 deltaY 属性来协调在滚动位置中的变化。 记得在页面滚动之后的任何调用的withinIncludingScrolloffset 之前调用这个方法。
realOffset(element)
instance
element: object
返回这个元素的正确滚动偏差的 Array 对象, 包括所有影响元素的滚动偏差。结果数组类似 [total_scroll_left, total_scroll_top]
cumulativeOffset(element)
instance
element: object
回这个元素的正确滚动偏差的 Array 对象, 包含任何被放置的父元素强加偏差。结果数组类似 [total_offset_left, total_offset_top]
within(element, x, y)
instance
element: object, x and y: coordinates of a point
测试给定的点的坐标是否在给定的元素的外部矩形范围之内。
withinIncludingScrolloffsets(element, x, y)
instance
element: object, x and y: coordinates of a point
测试给定的点的坐标是否在给定的元素的外部矩形范围之内(包含scroll offsets)。
overlap(mode, element)
instance
mode: 'vertical' or 'horizontal', element: object
在调用这个方法之前需要调用within() 。这个方法返回0.0到1.0之间的数字,来表示坐标在元素重叠的分数。 举个例子,如果元素是一个边长是100px的正方形的DIV,并且位于(300, 300), 然后 within(divSquare, 330, 330); overlap('vertical', divSquare); 会返回 0.10,意思是那个点位于DIV顶部边框以下 10% (30px) 的位置上。
clone(source, target)
instance
source: element object or id, target: element object or id
改变目标元素的大小尺寸和位置与源元素的相同。
你可能感兴趣的:(javascript,json,ruby)
JavaScript与原生开发的较量:为何高性能可视化应用更适合选用SciChart?
界面开发小八哥
javascript 开发语言 SciChart 图表工具 数据可视化
SciChart是高性能数据可视化领域的优秀图表产品,深受数据密度和精度至关重要行业的信赖,包括航空航天、石油和天然气、科学研究和赛车运动等。作为F1中使用的解决方案,SciChart被NASA所依赖,并受到90%的顶级医疗技术公司青睐,它提供实时、跨平台的可视化,提供无与伦比的灵活性和定制性。立即获取SciChart正式版在为iOS和Android打造高性能数据可视化应用时,选择合适的开发方式至
JavaScript浅拷贝与深拷贝
旺代
JavaScript 前端 javascript 开发语言
目录浅拷贝(ShallowCopy)一、浅拷贝的定义二、直接赋值vs浅拷贝1.直接赋值2.浅拷贝三、数组的浅拷贝方法1.slice()2.concat()3.扩展运算符(...)四、对象的浅拷贝方法1.Object.assign()2.扩展运算符(...)五、浅拷贝的局限性六、总结深拷贝(DeepCopy)一、深拷贝的定义二、深拷贝的常见实现方式1.JSON.parse(JSON.stringif
MySQL中查询JSON数组字段包含特定字符串的方法
一勺菠萝丶
mysql json 数据库
问题背景在MySQL数据库中,当某个字段存储的是JSON数组(如["喷绘","2.6m喷绘","M喷绘","直喷","双透","气模"]),需要查询数组中包含特定字符串(如’气模’)的记录时,传统的LIKE语句无法直接使用。本文介绍两种高效的解决方案。解决方案对比1.精确匹配方案(推荐)当需要完全匹配数组中的元素时(如精确查找"气模"):SELECT*FROMprocess_unit_prices
介绍electron
几道之旅
electron javascript 前端
一、Electron是什么?Electron是一个基于Chromium和Node.js的框架,允许开发者使用前端技术(HTML/CSS/JavaScript)构建原生桌面应用。其核心优势在于:跨平台:一次开发,生成Windows、macOS、Linux三端应用;技术栈统一:前端开发者无需学习新语言,直接复用Web生态(如Vue/React);混合架构:Chromium:负责渲染界面,支持现代CSS
JWT鉴权的流程和原理
hwg985
八股-java基础 Java 鉴权 JWT
文章目录1\.JWT的原理:它是什么构成的?a)第一部分:Header(头部)b)第二部分:Payload(载荷)c)第三部分:Signature(签名)2\.JWT的鉴权流程3\.JWT的优缺点优点:缺点:好的,我们来详细、清晰地介绍一下JWT(JSONWebToken)的鉴权流程和其背后的原理。这是一个在现代Web应用和API安全中非常核心的概念。我将用一个通俗的比喻来帮助你理解:传统的Ses
介绍Flutter
一、Flutter的核心优势:不止于跨平台高性能原生渲染自研引擎Skia:直接调用GPU绘制UI,绕过原生控件依赖,消除JavaScript桥接性能损耗,实现60fps流畅动画。三棵树渲染机制(Widget-Element-RenderObject):通过差异化更新最小化重绘范围,效率远超传统WebView方案。极速开发体验热重载(HotReload):代码修改后毫秒级生效,保留应用状态调试,开发
Python 爬虫入门(九):Scrapy安装及使用「详细介绍」
blues_C
Python爬虫实战 python 爬虫 scrapy
Python爬虫入门(九):Scrapy安装及使用「详细介绍」前言1.Scrapy简介2.Scrapy的安装2.1环境准备2.2安装Scrapy3.创建Scrapy项目3.1创建项目3.2项目结构简介4.编写爬虫4.1创建爬虫4.2解析数据4.3运行爬虫5.存储数据5.1存储为JSON文件5.2存储到数据库5.2.1MongoDB6.处理请求和响应6.1请求头设置6.2处理响应7.高级功能7.1使
ECMAScript 2025(ES15)核心新特性全面解析
neon1204
新技术 ecmascript 前端 开发语言
ECMAScript2025(ES15)核心新特性全面解析本文深入探讨ECMAScript2025(ES15)的最新语言特性一、ES2025核心特性概览ECMAScript2025(通常简称为ES15)作为JavaScript的最新年度标准更新,引入了一些新特性,优化了一些问题。这些改进主要体现在以下方向:模块系统增强:原生JSON模块与延迟加载优化数据结构扩展:不可变数据类型与集合操作增强流程控
网络资源模板--基于Android Studio 实现的天气预报App
编程乐学
Android 网络项目模板 安卓课设 安卓大作业 androidstudio android 天气预报
目录一、环境说明二、项目简介三、项目演示四、部设计详情(部分)注册页面首页五、项目源码一、环境说明二、项目简介该项目是一个基于Android平台的天气预报应用,使用AndroidStudio开发工具和Java编程语言完成。项目采用了SQLite数据库存储用户数据和地区信息,通过OkHttp实现网络请求获取天气数据,并结合Gson解析JSON格式的天气信息。界面方面使用MaterialDesign设
R语言的游戏开发
柳婉晴
包罗万象 golang 开发语言 后端
R语言在游戏开发中的应用随着科技的发展,游戏行业已经成为一个巨大的市场。虽然通常我们会认为游戏开发主要是使用C++、C#、JavaScript等语言,但实际上,R语言在游戏开发中也有其独特的应用,尤其是在数据分析和可视化方面。本文将探讨R语言在游戏开发中的应用,涵盖它的基础、游戏设计的复杂性、实际案例分析、以及未来的发展方向。一、R语言基础R语言是一种用于统计计算和数据分析的编程语言。它具有强大的
Fiber是什么?
醉方休
react.js
对React的Fiber架构的理解需要从React的核心目标与面临的挑战说起。它本质上是React16引入的全新协调(Reconciliation)引擎,旨在解决React15及之前版本在处理大型应用和复杂更新时遇到的根本性性能瓶颈和用户体验问题。核心理解:Fiber是什么?虚拟的底层数据结构:Fiber是对React组件、DOM节点或其他UI元素的轻量级、链式表示的JavaScript对象。每个
javascript基础从小白到高手系列四千八百七十一:读取响应状态信息
完美句号
javascript 开发语言 ecmascript
Response对象包含一组只读属性,描述了请求完成后的状态,如下表所示。属性值headers响应包含的Headers对象ok布尔值,表示HTTP状态码的含义。200~299的状态码返回true,其他状态码返回falseredirected布尔值,表示响应是否至少经过一次重定向status整数,表示响应的HTTP状态码statusText字符串,包含对HTTP状态码的正式描述。这个值派生自可选的H
javascript基础从小白到高手系列四千八百七十二:数值范围
除了"email"和"url",HTML5还定义了其他几种新的输入元素类型,它们都是期待某种数值输入的,包括:“number”、“range”、“datetime”、“datetime-local”、“date”、“month”、“week”和"time"。并非所有主流浏览器都支持这些类型,因此使用时要当心。浏览器厂商目前正致力于解决兼容性问题和提供更逻辑化的功能。本节内容更多地是介绍未来趋势,而
在 Vite 中将资源引入为字符串
苦夏木禾
Autox.js vue
在Vite中将资源引入为字符串:便捷导入非JavaScript资源的利器在前端项目开发过程中,我们常常需要处理各种类型的资源文件,如GLSL着色器、CSS样式表、HTML片段、配置文件等。这些资源并非JavaScript模块,但却需要在代码中被引用和使用。在Vite构建工具中,?raw后缀提供了一种简洁高效的方式,允许我们将这些资源以字符串的形式直接引入到代码中,无需复杂的配置或额外的处理步骤。本
Python中如何将非内置数据类型导出成Json格式
前言:在Python开发中往往使用自定义的数据类型来封装属性特定对象。但是这些自定义的数据类型在导出成Json文件时往往会报出不支持的错误。本篇文章将介绍如何解决这个问题。操作步骤:1、创建自定义数据类型:fromdataclassesimportdataclassimportjson@dataclassclassOwnObject():prop1:strprop2:int2、将自定义数据类型导出
java面试题61什么是Ajax?Ajax实现原理?列举Ajax的几种运用场景
码农颜
java ajax okhttp
什么是Ajax?Ajax(AsynchronousJavaScriptandXML)是一种用于创建异步Web应用的技术。它允许网页在不重新加载整个页面的情况下,通过后台与服务器交换少量数据并动态更新部分页面内容。核心特点:异步通信:浏览器在后台发送/接收数据,用户无需等待局部刷新:只更新页面中需要变化的部分无刷新体验:用户操作流畅,避免页面闪烁类比:传统网页像翻书(每次请求翻新页),Ajax像实时
引入组件时报错:已被代码依赖分析忽略,无法被其他模块引用
引入组件时报错:已被代码依赖分析忽略,无法被其他模块引用。在uniapp中找到manifest.json文件,通过源码视图编辑,在小程序特有相关出添加下面两行即可"ignoreDevUnusedFiles":false,"ignoreUploadUnusedFiles":false,
Vue3高级-第二十六篇:Vue3 与 WebGL 的融合探索
程序员勇哥
前端全套教程 vue.js 前端 javascript 开发语言 前端框架
Vue3高级-第二十六篇:Vue3与WebGL的融合探索1.WebGL基础与Vue3集成准备深入了解WebGL的概念、功能与应用场景概念:WebGL(WebGraphicsLibrary)是一种用于在网页上进行2D和3D图形渲染的JavaScriptAPI。它基于OpenGLES2.0规范,允许开发者在浏览器环境中直接操作图形硬件,无需安装额外插件。WebGL通过在浏览器中创建一个绘图上下文,利用
TypeScript-Babel
一、前言随着前端技术的发展,TypeScript已成为主流语言之一,它通过静态类型系统提升了代码的可维护性和健壮性。而Babel则是JavaScript的编译器,它可以将现代JavaScript(如ES6+)转换为向后兼容的版本,以适配更多浏览器环境。本文将带你全面了解:✅TypeScript与Babel的关系✅如何使用Babel编译TypeScript文件✅配置Webpack支持Babel+TS
JavaScript 函数
晚夜微雨问海棠呀
JavaScript 教程 javascript 开发语言 ecmascript
JavaScript函数是代码执行的基本单元,具有灵活的定义方式和强大的功能特性。以下是核心要点:一、定义方式类型语法特性函数声明functionfn(){...}存在变量提升,可在定义前调用函数表达式constfn=function(){...}无变量提升,需先定义后调用箭头函数constfn=()=>{...}无this、arguments,不能作为构造函数构造函数newFunction('a
Jenkins集成GitHub实现自动化打标签实战指南
ivwdcwso
运维与云原生 jenkins github 自动化 CI/CD devops
本文将详细介绍如何使用Jenkins与GitHubAPI集成,实现自动化打标签的完整流程。以下是完整的Python脚本和详细解析。完整Python脚本#!/root/miniconda3/bin/pythonimportjsonimportboto3importosimportpytzimportargparsefromdatetimeimportdatetimefromgithubimportG
Vue2 原生实现右键菜单组件 - menujs
Vue2原生实现右键菜单组件-menujsmenujsVue2原生实现右键菜单组件,零依赖项目地址:https://gitcode.com/gh_mirrors/me/menujs项目基础介绍和主要的编程语言menujs是一个基于Vue2的原生右键菜单组件,主要使用JavaScript和Vue框架进行开发。该项目旨在为Vue2开发者提供一个轻量级、零依赖的右键菜单解决方案,使得开发者能够轻松地在项
jquerymobile跳转方法_jquery mobile 页面跳转方法
如果使用JavaScript代码切换当前显示的页面,可以调用jQueryMobile中的changePage()方法。该方法可以设置跳转页面的URL地址、跳转时的动画效果和需要携带的数据,接下来通过一个简单的实例详细说明该方法的使用过程。实例2-8使用changePage()方法跳转页面1.功能说明新建一个HTML页面,在页面中显示“页面正在跳转中…”文字,然后调用changePage()方法,从
掌握小程序开发框架,驰骋小程序领域
小程序开发2020
小程序 ai
掌握小程序开发框架,驰骋小程序领域关键词:小程序框架、WXML、WXSS、逻辑层、组件化开发、生命周期、跨平台摘要:本文以“如何系统掌握小程序开发框架”为核心,通过生活比喻、代码实战和场景分析,拆解小程序框架的核心组成(WXML/WXSS/JS/JSON)、运行机制(双线程模型)及开发技巧。无论你是刚入门的新手,还是想巩固基础的开发者,都能通过本文理清框架逻辑,快速上手实战,为开发高性能小程序打下
uniapp功能实现
WJLSH123
uni-app uniapp
1.登录获取手机号//body中写入这个按钮手机号:***//script的methods中写这个函数,获得code值,然后将code返回给后端,//后端会结合access_token+code得到手机号信息(phone_info)getPhoneNumber(e){console.log(e.detail.code)},2.下拉刷新pages.json"pages":[//pages数组中第一项
npm install安装不成功(node:32388)怎么解决?
whale fall
前端Vue npm 前端 node.js
如果在执行npminstall时出现问题,尤其是node:32388相关的错误,这通常意味着某些依赖或配置出了问题。这里有一些常见的解决方法,你可以尝试:1.清除npm缓存有时候,npm缓存问题会导致安装失败。你可以清除npm的缓存,然后重新安装:npmcacheclean--force然后,再次尝试运行npminstall。2.删除node_modules和package-lock.json如果
Acrobat JavaScript 表单验证与动态计算
在AdobeAcrobatDC中设计交互式PDF表单时,JavaScript的应用极大地扩展了表单的功能性。本文将深入探讨如何利用AcrobatJavaScript实现表单字段的动态计算、验证以及安全实践,并通过Mermaid图表直观展示相关技术概念。一、AcrobatJavaScript基础1.1Acrobat与WebJavaScript的区别AcrobatJavaScript虽然语法与网页Ja
一句话讲明什么是衡石 HQL?【衡石文档干货】
衡石系统中自定义的计算过程描述语言为HengshiSENSEQueryLanguage(HQL),用于衡石系统的前后端交互、API数据请求中。语法规定使用统一的JSON来描述各个计算过程.HQL由多层调用的HE(HengshiExpression)组成。下面是单个HE的语法结构。HE节点名类型是否必须描述uidSTRING否本节点的全局唯一标识符kindSTRING是节点类型,见HE状态说明opO
vscode添加源文件_VSCode源码自定义笔记-VSCode启动流程分析
weixin_39559079
vscode添加源文件
从开始到窗口加载与所有的Electron应用一样,入口点在package.json文件中定义。"main":"./out/main",说明了入口文件在out/main.js.这个是编译出来的文件,源文件在src/main.js。注意对于TS文件,由于有sourcemap的映射,我们在ts中打断点就可以跳转过来。这里的js应该是编译时候直接拷贝到out目录下的,我们在src下面的文件打断点无效,应该
TzdInjectorNTQQ:基于内存注入的QQ NT客户端扩展框架解析
tzdwindows_7
Electron深度实践 Windows逆向安全 JavaScript引擎 java 逆向 qqnt qq TzdInjectorNTQQ c++ Electron
TzdInjectorNTQQ:基于内存注入的QQNT客户端扩展框架解析项目地址:https://github.com/tzdwindows/TzdInjectorNTQQ许可协议:GNULesserGeneralPublicLicensev3.0适用场景:Electron应用逆向工程、客户端扩展开发、JavaScript运行时研究项目背景与核心价值QQNT是基于Electron架构的新一代跨平台
枚举的构造函数中抛出异常会怎样
bylijinnan
java enum 单例
首先从使用enum实现单例说起。
为什么要用enum来实现单例?
这篇文章(
http://javarevisited.blogspot.sg/2012/07/why-enum-singleton-are-better-in-java.html)阐述了三个理由:
1.enum单例简单、容易,只需几行代码:
public enum Singleton {
INSTANCE;
CMake 教程
aigo
C++
转自:http://xiang.lf.blog.163.com/blog/static/127733322201481114456136/
CMake是一个跨平台的程序构建工具,比如起自己编写Makefile方便很多。
介绍:http://baike.baidu.com/view/1126160.htm
本文件不介绍CMake的基本语法,下面是篇不错的入门教程:
http:
cvc-complex-type.2.3: Element 'beans' cannot have character
Cb123456
spring Webgis
cvc-complex-type.2.3: Element 'beans' cannot have character
Line 33 in XML document from ServletContext resource [/WEB-INF/backend-servlet.xml] is i
jquery实例:随页面滚动条滚动而自动加载内容
120153216
jquery
<script language="javascript">
$(function (){
var i = 4;$(window).bind("scroll", function (event){
//滚动条到网页头部的 高度,兼容ie,ff,chrome
var top = document.documentElement.s
将数据库中的数据转换成dbs文件
何必如此
sql dbs
旗正规则引擎通过数据库配置器(DataBuilder)来管理数据库,无论是Oracle,还是其他主流的数据都支持,操作方式是一样的。旗正规则引擎的数据库配置器是用于编辑数据库结构信息以及管理数据库表数据,并且可以执行SQL 语句,主要功能如下。
1)数据库生成表结构信息:
主要生成数据库配置文件(.conf文
在IBATIS中配置SQL语句的IN方式
357029540
ibatis
在使用IBATIS进行SQL语句配置查询时,我们一定会遇到通过IN查询的地方,在使用IN查询时我们可以有两种方式进行配置参数:String和List。具体使用方式如下:
1.String:定义一个String的参数userIds,把这个参数传入IBATIS的sql配置文件,sql语句就可以这样写:
<select id="getForms" param
Spring3 MVC 笔记(一)
7454103
spring mvc bean REST JSF
自从 MVC 这个概念提出来之后 struts1.X struts2.X jsf 。。。。。
这个view 层的技术一个接一个! 都用过!不敢说哪个绝对的强悍!
要看业务,和整体的设计!
最近公司要求开发个新系统!
Timer与Spring Quartz 定时执行程序
darkranger
spring bean 工作 quartz
有时候需要定时触发某一项任务。其实在jdk1.3,java sdk就通过java.util.Timer提供相应的功能。一个简单的例子说明如何使用,很简单: 1、第一步,我们需要建立一项任务,我们的任务需要继承java.util.TimerTask package com.test; import java.text.SimpleDateFormat; import java.util.Date;
大端小端转换,le32_to_cpu 和cpu_to_le32
aijuans
C语言相关
大端小端转换,le32_to_cpu 和cpu_to_le32 字节序
http://oss.org.cn/kernel-book/ldd3/ch11s04.html
小心不要假设字节序. PC 存储多字节值是低字节为先(小端为先, 因此是小端), 一些高级的平台以另一种方式(大端)
Nginx负载均衡配置实例详解
avords
[导读] 负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦。负载均衡先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解 负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦。
负载均衡
先来简单了解一下什么是负载均衡
乱说的
houxinyou
框架 敏捷开发 软件测试
从很久以前,大家就研究框架,开发方法,软件工程,好多!反正我是搞不明白!
这两天看好多人研究敏捷模型,瀑布模型!也没太搞明白.
不过感觉和程序开发语言差不多,
瀑布就是顺序,敏捷就是循环.
瀑布就是需求、分析、设计、编码、测试一步一步走下来。而敏捷就是按摸块或者说迭代做个循环,第个循环中也一样是需求、分析、设计、编码、测试一步一步走下来。
也可以把软件开发理
欣赏的价值——一个小故事
bijian1013
有效辅导 欣赏 欣赏的价值
第一次参加家长会,幼儿园的老师说:"您的儿子有多动症,在板凳上连三分钟都坐不了,你最好带他去医院看一看。" 回家的路上,儿子问她老师都说了些什么,她鼻子一酸,差点流下泪来。因为全班30位小朋友,惟有他表现最差;惟有对他,老师表现出不屑,然而她还在告诉她的儿子:"老师表扬你了,说宝宝原来在板凳上坐不了一分钟,现在能坐三分钟。其他妈妈都非常羡慕妈妈,因为全班只有宝宝
包冲突问题的解决方法
bingyingao
eclipse maven exclusions 包冲突
包冲突是开发过程中很常见的问题:
其表现有:
1.明明在eclipse中能够索引到某个类,运行时却报出找不到类。
2.明明在eclipse中能够索引到某个类的方法,运行时却报出找不到方法。
3.类及方法都有,以正确编译成了.class文件,在本机跑的好好的,发到测试或者正式环境就
抛如下异常:
java.lang.NoClassDefFoundError: Could not in
【Spark七十五】Spark Streaming整合Flume-NG三之接入log4j
bit1129
Stream
先来一段废话:
实际工作中,业务系统的日志基本上是使用Log4j写入到日志文件中的,问题的关键之处在于业务日志的格式混乱,这给对日志文件中的日志进行统计分析带来了极大的困难,或者说,基本上无法进行分析,每个人写日志的习惯不同,导致日志行的格式五花八门,最后只能通过grep来查找特定的关键词缩小范围,但是在集群环境下,每个机器去grep一遍,分析一遍,这个效率如何可想之二,大好光阴都浪费在这上面了
sudoku solver in Haskell
bookjovi
sudoku haskell
这几天没太多的事做,想着用函数式语言来写点实用的程序,像fib和prime之类的就不想提了(就一行代码的事),写什么程序呢?在网上闲逛时发现sudoku游戏,sudoku十几年前就知道了,学生生涯时也想过用C/Java来实现个智能求解,但到最后往往没写成,主要是用C/Java写的话会很麻烦。
现在写程序,本人总是有一种思维惯性,总是想把程序写的更紧凑,更精致,代码行数最少,所以现
java apache ftpClient
bro_feng
java
最近使用apache的ftpclient插件实现ftp下载,遇见几个问题,做如下总结。
1. 上传阻塞,一连串的上传,其中一个就阻塞了,或是用storeFile上传时返回false。查了点资料,说是FTP有主动模式和被动模式。将传出模式修改为被动模式ftp.enterLocalPassiveMode();然后就好了。
看了网上相关介绍,对主动模式和被动模式区别还是比较的模糊,不太了解被动模
读《研磨设计模式》-代码笔记-工厂方法模式
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
package design.pattern;
/*
* 工厂方法模式:使一个类的实例化延迟到子类
* 某次,我在工作不知不觉中就用到了工厂方法模式(称为模板方法模式更恰当。2012-10-29):
* 有很多不同的产品,它
面试记录语
chenyu19891124
招聘
或许真的在一个平台上成长成什么样,都必须靠自己去努力。有了好的平台让自己展示,就该好好努力。今天是自己单独一次去面试别人,感觉有点小紧张,说话有点打结。在面试完后写面试情况表,下笔真的好难,尤其是要对面试人的情况说明真的好难。
今天面试的是自己同事的同事,现在的这个同事要离职了,介绍了我现在这位同事以前的同事来面试。今天这位求职者面试的是配置管理,期初看了简历觉得应该很适合做配置管理,但是今天面
Fire Workflow 1.0正式版终于发布了
comsci
工作 workflow Google
Fire Workflow 是国内另外一款开源工作流,作者是著名的非也同志,哈哈....
官方网站是 http://www.fireflow.org
经过大家努力,Fire Workflow 1.0正式版终于发布了
正式版主要变化:
1、增加IWorkItem.jumpToEx(...)方法,取消了当前环节和目标环节必须在同一条执行线的限制,使得自由流更加自由
2、增加IT
Python向脚本传参
daizj
python 脚本 传参
如果想对python脚本传参数,python中对应的argc, argv(c语言的命令行参数)是什么呢?
需要模块:sys
参数个数:len(sys.argv)
脚本名: sys.argv[0]
参数1: sys.argv[1]
参数2: sys.argv[
管理用户分组的命令gpasswd
dongwei_6688
passwd
NAME: gpasswd - administer the /etc/group file
SYNOPSIS:
gpasswd group
gpasswd -a user group
gpasswd -d user group
gpasswd -R group
gpasswd -r group
gpasswd [-A user,...] [-M user,...] g
郝斌老师数据结构课程笔记
dcj3sjt126com
数据结构与算法
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
yii2 cgridview加上选择框进行操作
dcj3sjt126com
GridView
页面代码
<?=Html::beginForm(['controller/bulk'],'post');?>
<?=Html::dropDownList('action','',[''=>'Mark selected as: ','c'=>'Confirmed','nc'=>'No Confirmed'],['class'=>'dropdown',])
linux mysql
fypop
linux
enquiry mysql version in centos linux
yum list installed | grep mysql
yum -y remove mysql-libs.x86_64
enquiry mysql version in yum repositoryyum list | grep mysql oryum -y list mysql*
install mysq
Scramble String
hcx2013
String
Given a string s1, we may represent it as a binary tree by partitioning it to two non-empty substrings recursively.
Below is one possible representation of s1 = "great":
跟我学Shiro目录贴
jinnianshilongnian
跟我学shiro
历经三个月左右时间,《跟我学Shiro》系列教程已经完结,暂时没有需要补充的内容,因此生成PDF版供大家下载。最近项目比较紧,没有时间解答一些疑问,暂时无法回复一些问题,很抱歉,不过可以加群(334194438/348194195)一起讨论问题。
----广告-----------------------------------------------------
nginx日志切割并使用flume-ng收集日志
liyonghui160com
nginx的日志文件没有rotate功能。如果你不处理,日志文件将变得越来越大,还好我们可以写一个nginx日志切割脚本来自动切割日志文件。第一步就是重命名日志文件,不用担心重命名后nginx找不到日志文件而丢失日志。在你未重新打开原名字的日志文件前,nginx还是会向你重命名的文件写日志,linux是靠文件描述符而不是文件名定位文件。第二步向nginx主
Oracle死锁解决方法
pda158
oracle
select p.spid,c.object_name,b.session_id,b.oracle_username,b.os_user_name from v$process p,v$session a, v$locked_object b,all_objects c where p.addr=a.paddr and a.process=b.process and c.object_id=b.
java之List排序
shiguanghui
list排序
在Java Collection Framework中定义的List实现有Vector,ArrayList和LinkedList。这些集合提供了对对象组的索引访问。他们提供了元素的添加与删除支持。然而,它们并没有内置的元素排序支持。 你能够使用java.util.Collections类中的sort()方法对List元素进行排序。你既可以给方法传递
servlet单例多线程
utopialxw
单例 多线程 servlet
转自http://www.cnblogs.com/yjhrem/articles/3160864.html
和 http://blog.chinaunix.net/uid-7374279-id-3687149.html
Servlet 单例多线程
Servlet如何处理多个请求访问?Servlet容器默认是采用单实例多线程的方式处理多个请求的:1.当web服务器启动的