SCiter笔记 - 2

Sciter帮助文档笔记2

 

Script 语法之Decorators

主要是简化函数的调用关系,看起来更明确:

@key('S') @CTRL @SHIFT: { stdout.println("Ctrl+Shift+S"); return true; } // Ctrl+Shift+S

 

其中: @key(‘S’)、@CTRL、@SHIFT分别是单独的函数,最后在:之后跟着一个匿名函数。它所表示的函数调用关系为:@key('S') (@CTRL ( @SHIFT ( xxx ) ) ); 它最需要注意的问题在于函数的编写:

function@CTRL(func) { return function(evt) { if( evt.ctrlKey == true ) returnfunc.call(this,evt); } }

function @key(func,keyCode = undefined )

{

  function t(evt)

  {

    var r = false;

    if( evt.type == Event.KEY_DOWN &&(keyCode === undefined || (keyCode == evt.keyCode)) )

          r = func.call(this,evt);

    if(t.next) return t.next.call(this,evt) ||r;

           returnr;

  }

  // note 'this' in decorators is a currentnamespace - class or global (ns)

  var principal = this instanceof Behavior ?this : self;

  t.next = principal.onKey;

  principal.onKey = t;

}

 

DOM

Script DomSciter

常量:

VERSION // 版本,integer. High word is versionnumber, low word is a sub-version number

REVISION// 版次, integer. High word is arevision number and low word is a sequential build number.

LICENSEE // string, name oflicensee organization/person of the Sciter.

方法:

1、this  // N/A, non constructible for a while.

2、userName () returns:string  // 登陆这台电脑的用户名

3、machineName ([full]) returns:string // true, 显示含有网络路径的全称

4、home ([rel:string]) returns:string // 运行Sciter的路径,参数会被附加到路径之后

5、launch ( filename: string )returns: true/false // 启动外部程序

 

Script DomView

view.state 的值 WINDOW_MINIMIZED  WINDOW_MAXIMIZED  WINDOW_HIDDEN

属性:

1、root  r - Element // 当前加载到视图的文档的root

2、state  r/w - state of the view's window  // 顶层窗口仅有

3、focus  r/w - Element // 当前获取输入焦点的元素,如果想让其他元素获取焦点,可以view.focus = el;

4、eventsRoot  r/w - Element // 用于modal document loops

例子:view.eventsRoot =dlg;  while (dlg.isVisible)view.doEvent();

    dlg.style#display = "none";   view.eventsRoot = null;

5、sip  r/w - show/hide SIP button of dialog  // 默认hide , (Windows MobileProfessional only!)

6、sipUp  r/w - show/hide SIP of dialog (keyboard). // 默认hidden. (Windows MobileProfessional only!)

7、fullscreen  r/w - window/dialog fullscreen // 菜单需要设置 view.menu.visible. (WindowsMobile Professional only!)

8、menu  r - returns an object of type Menu of theview.  // (Windows Mobile Professionalonly!)

 

Script DomElement

常量:(通过get/setState()读写)

STATE_LINK

STATE_HOVER

STATE_ACTIVE

STATE_FOCUS

STATE_VISITED

STATE_CURRENT

STATE_CHECKED

STATE_DISABLED

STATE_READONLY

STATE_EXPANDED

STATE_COLLAPSED

STATE_INCOMPLETE

STATE_ANIMATING

STATE_FOCUSABLE

STATE_ANCHOR

STATE_POPUP

STATE_OWNS_POPUP

STATE_EMPTY

STATE_BUSY

属性:

1、length  r - integer // Read-only 子元素的个数

2、[index]  rw - Element // Read-write index accessor. 从0开始

3、root  r - Element // Read-only. 所属节DOM元素的root

4、parent  r - Element // Read-only. 父节点

5、index  r - Integer // 当前元素在父节点的序号

6、tag  r - String // Read-only. 元素的名称

7、id  r - String // Read-only.,id

8、next  r - Element // 相邻的下一个节点

9、prior  r - Element // 相邻的上一个节点

10、first  r - Element // 第一个子节点

11、last  r - Element // 最后一个子节点

12、attributes  c - Attributes // 元素的属性

13、@  c - short form to access Attributes // 一种获取属性的简写方式

    例子:

this.@["selected"] = true or  this.@#selected = true

    等价于

    this.attributes["selected"] =true

14、style  c - Style // CSS属性等

15、state  c - States // 元素的状态,可参考开头的常量值

16、x  c - Extenders // interface to collection of native behaviors attached to the element:

        element.x.length - reports number ofnative behaviors attached to the element;

        element.x[n] - reports name of n-thnative behavior attached to the element.

        element.x.funcname(....) - call ofmethods implemented by native behaviors.

//  Main purpose of this interfaceis to provide function call mechanism that is using separate namespace.

17、text  rw - String // 元素的内部文本内容

18、html  rw - String // (inner HTML) html source  不包含头尾的标签部分

19、outerHtml  rw - String, (outer HTML) html source  包含头尾的标签部分

20、value  rw - String by default // 如果元素有其他动作关联,可能返回 integer, boolean, array等,例如 返回的会是 on.

21、prototype  rw - Either Instance of Behavior or Elementclass object // 可以通过CSS设置

22、isVisible  r - true if element and all its containersare in visible state // 所有的都可视返回true

23、isEnabled  r - true if element and all its containersare not in :disabled state ( setState(Element.STATE_DISABLED)).

24、ns  r - Object, namespace object of the element// 所在的命名空间

25、rows  r - integer // dom元素中的行数,如果是table则返回rows,如果是CSS布局则反应flow CSS property.

26、columns  r - integer // dom中的列数,同rows

27、contentModel  r - symbol // Model as in HTML5 spec

        #block-inside - the element can containblock elements (e.g.

)

        #inline-inside - the element cancontain inline elements (e.g.

).

        #transparent - the content model of atransparent element is derived from the content model of its parent element(e.g. ).

        #text-only - the element can containonly plain text (e.g. ).</span></p> <p><span style="color:#004DBB;">        #table, #table-section and #table-row -<table>, <tbody>, <tfoot>, <thead> and <tr>elements.</span></p> <p>28、selection  r - null | Selection // 针对有behavior (htmlarea orrichtext) 的元素</p> <p>29、firstCaretPos  r - null | bookmark // 第一个插入符的位置</p> <p>30、lastCaretPos  r - null | bookmark // 最后一个插入符的位置</p> <p>31、paintBackground  w - null | function(gfx), assigns backgroundlayer painting function // 该函数通过Graphics object 绘制层. 如果函数返回true则会替代默认绘制过程。</p> <p>32、paintContent  w - null | function(gfx), assigns contentlayer painting function. // 同上</p> <p>33、paintForeground  w - null | function(gfx), assigns foregroundlayer painting function. // 同上</p> <p>34、paintOutline  w - null | function(gfx), assigns outlinelayer painting function.  // 同上</p> <p><strong><span style="color:#004DBB;">枚举:</span></strong></p> <p>for ... in  for(var node in element) { /* loop body */ }</p> <p><strong><span style="color:#004DBB;">方法:</span></strong></p> <p>1、this (tagname[, text]) // 构造函数,var el = newElement("option"); // or    varel = new Element(#option);</p> <p>2、create (object) : Element //var para = Element.create { p, "paragraph text" }; // or if text is avariable:   var para = Element.create {p, [paragraphText] };</p> <p>3、clear () : undefined  //移除所有的子节点</p> <p>4、toString () : string  // outer html 包涵外部标签</p> <p>5、clone () :Element // 深度复制一个元素,但返回的元素不在dom之中</p> <p>6、select (CSSselector:string [,argument1 [, argument2, ... ]]) : Element // 返回第一个匹配的元素, %d, %s 代表后面的参数列表. 规则同 Stream.printf .</p> <p><span style="color:#004DBB;">// </span><span style="color:#004DBB;">例子</span><span style="color:#004DBB;">:</span><span style="color:#004DBB;">查找</span><span style="color:#004DBB;"> <input type="text"/></span><span style="color:#004DBB;">则可以</span><span style="color:#004DBB;"> var inp =self.select("input[type='text']");</span></p> <p>7、$ ( CSSselector ) : Element //select的简化版,</p> <p><span style="color:#004DBB;">    // </span><span style="color:#004DBB;">如</span><span style="color:#004DBB;">:  var n = 3;  var li3 = self.$( ul > li:nth-child({n})); //</span><span style="color:#004DBB;">得到第三个元素</span></p> <p>8、select (func , CSSselector:string [, argument1 [, argument2, ... ]]) returns: integer // 通过选择器, 枚举, func返回true则停止</p> <p><span style="color:#004DBB;">// </span><span style="color:#004DBB;">如打印所有</span><span style="color:#004DBB;">input</span><span style="color:#004DBB;">的</span><span style="color:#004DBB;">name</span></p> <p><span style="color:#004DBB;">    function printel(el) { stdout.println(el.attributes["name"] ); }</span></p> <p><span style="color:#004DBB;">    document.select(printel,"input");</span></p> <p>9、selectAll (CSSselector: string[, argument1 [, argument2, ... ]]) returns: Array// 返回所有匹配的元素, %d, %s 代表后面的参数列表. 规则同 Stream.printf .</p> <p>10、$$ ( CSSselector ) returns:Array // selectAll的简版形式</p> <p>11、selectParent (CSSselector:string [, argument1 [, argument2, ... ]]) returns: Element<span style="color:#004DBB;">// </span><span style="color:#004DBB;">返回第一个</span></p> <p>12、$p ( CSSselector ) returns:Element // selectParent的简版</p> <p>13、selectParent (func ,CSSselector: string [, argument1 [, argument2, ... ]]) returns: integer<span style="color:#004DBB;">// </span><span style="color:#004DBB;">枚举形式的</span><span style="color:#004DBB;">selectParent</span></p> <p>14、$$p ( CSSselector ) returns:Array of Elements // 这个针对parent和child</p> <p>15、match ( CSSselector: string [,argument1 [, argument2, ... ]]) returns: true | false // 检查是否符合</p> <p>16、$is ( CSSselector ) returns:true | false // match的简版</p> <p>17、belongsTo ( parent: Element [,useUITree: true | false ] ) : true | false // 检查是否是某节点的子节点</p> <p>18、find (x, y) returns:Element.  // x,y是相对于元素的原点,如果找不到返回元素自身</p> <p>19、update ([deep]) returns:undefined // 重新计算和绘制</p> <p>20、update (stateUpdateFunction)returns: undefined </p> <p>21、refresh ( [x, y, width,height] ) returns: true|false // 重绘制整体或部分内容</p> <p>22、animate ( nextStep: function[,duration: integer] ) : undefined // 启动动画,如果function返回int的事件间隔则继续, 0或其他的都停止, 每次的返回值都是下次动作的时间间隔</p> <p>23、box ( part [, edge [,relativeTo ]] ) returns: integer, device pixels // 根据盒子模型得到的坐标和大小</p> <p><span style="color:#004DBB;">例子</span><span style="color:#004DBB;">:  var (x1,y1,x2,y2) =this.box(#rect, #inner, #view);  var(x,y,w,h) = this.box(#rectw, #inner, #view);</span></p> <p>所有可用数据:</p> <p><span style="color:#004DBB;">            #margin - margin box edge,</span></p> <p><span style="color:#004DBB;">            #border - border box edge,</span></p> <p><span style="color:#004DBB;">            #padding - padding box edge,</span></p> <p><span style="color:#004DBB;">            #inner, default value - inner boxedge,</span></p> <p><span style="color:#004DBB;">            #content - content box edge.Content box here is outline of the content of the element and this is not</span><span style="color:#004DBB;">В</span><span style="color:#004DBB;"> an inner box ofthe element. E.g. content box can be bigger than inner box if the element hasoverflow attribute set.</span></p> <p><span style="color:#004DBB;">            #client - client area, that is#inner box minus areas taken by [optional] scrollbars.</span></p> <p><span style="color:#004DBB;">            #icon -area covered by element's icon. Iconhere is element's foreground image with foreground-repeat: no-repeat. Ifelement has no such image the function returns #width and #height equals tozero. relativeTo, one of:</span></p> <p><span style="color:#004DBB;">            #screen - returns coordinaterelative to the origin of the screen,</span></p> <p><span style="color:#004DBB;">            #root - returns coordinate relativeto the origin of root element (view),</span></p> <p><span style="color:#004DBB;">            #parent - returns coordinaterelative to the origin of its parent element. Note: parent scroll positionrelative.</span></p> <p><span style="color:#004DBB;">            #content - returns coordinate ofthe element in content of its parent. Note: is not dependent on parent scrollposition.</span></p> <p><span style="color:#004DBB;">            #container - returns coordinate ofthe element relative to layout parent. Layout parent can be different from DOMparent element. E.g. position:absolute elements may have positioning layoutparent different from DOM parent.</span></p> <p><span style="color:#004DBB;">            #self, default value - allcoordinates are relative to the origin of inner box of the element.</span></p> <p><span style="color:#004DBB;">            #view - returns coordinate relativeto the origin of the sciter window (view object).</span></p> <p><span style="color:#004DBB;">            </span></p> <p><span style="color:#004DBB;">or if relativeTo equals one of the following values:</span></p> <p><span style="color:#004DBB;">            #margin - margin box edge,</span></p> <p><span style="color:#004DBB;">            #border - border box edge,</span></p> <p><span style="color:#004DBB;">            #padding - padding box edge,</span></p> <p><span style="color:#004DBB;">            #inner - inner box edge</span></p> <p>24、intrinsicWidthMin ( ) :integer, device pixels </p> <p>25、intrinsicWidthMax ( ) :integer, device pixels </p> <p>26、intrinsicHeight ( forWidth:integer ) : integer, device pixels </p> <p>27、toPixels ( length : length |string | symbol [, #width | #height ] ) : integer, device pixels</p> <p>28、scroll (part) returns:integer, device pixels</p> <p>可以使用的定量:</p> <p><span style="color:#004DBB;">        #left - left position of the viewrelative to content origin,</span></p> <p><span style="color:#004DBB;">        #top - top position,</span></p> <p><span style="color:#004DBB;">        #right - offset of right edge of theview from right edge of</span><span style="color:#004DBB;">В</span><span style="color:#004DBB;"> the content box,</span></p> <p><span style="color:#004DBB;">        #bottom - offset of bottom edge of theview from bottom edge of the content box,</span></p> <p><span style="color:#004DBB;">        #width - width of scrollable area,</span></p> <p><span style="color:#004DBB;">        #height - height of scrollable area.</span></p> <p>29、scrollTo ( x:int, y:int [,smooth:bool] ) : void // overflow: hidden-scroll, scroll or auto to be able toscroll its content.</p> <p>30、scrollToView ( [toTop:bool,smooth: bool = true ] ) </p> <p>31、insert ( element | html |object [,index = Integer.MAX]) returns: true | false.</p> <p>32、append ( element | html | object) returns: true | false. </p> <p>33、prepend ( element | html |object ) returns: true | false. </p> <p>34、content ( element [, element2[, element3, ... ]] ) returns: true | false. </p> <p>35、$content ( .. inline html .. ): Element // replaced by the inline html. </p> <p><span style="color:#004DBB;">    </span><span style="color:#004DBB;">如</span><span style="color:#004DBB;">: var el = ... , num = ...; el.$content(This is item number { num });</span></p> <p>36、$append ( .. html .. ) :Element  // adds content defined by theinline html to the end of the list of children of the element.</p> <p>37、$prepend ( .. html .. ) :Element</p> <p>38、$after ( .. html .. ) :Element</p> <p>39、$before ( .. html .. ) :Element</p> <p>40、$replace ( .. html .. ) :Element</p> <p>41、detach ( ) : Element</p> <p>42、remove ( ) : Element </p> <p>43、load ( url: string ) returns:true/false </p> <p>44、load ( stream: Stream )returns: true/false </p> <p>45、load ( html: string,url:string ) returns: true/false </p> <p>46、loadImage ( url: string [,callback: function ) returns: Image | null </p> <p>47、request ( callback: function |integer, #get | #post | #post-data | #put-data | #post-json | #put-json |#delete, url: string [, params: object [, headers: object] ] ) : Object |Stream | Bytes | Error</p> <p>请求http data GET/POST request tothe server/page (url), a.k.a. JSON-RPC calls.</p> <p><span style="color:#004DBB;">            #get, #post, #post-data #json areliteral symbols - type of http request to be sent:</span></p> <p><span style="color:#004DBB;">            #get - sends plain HTTP GET request,url-encoded params (if any) are appended to the url to form the request;</span></p> <p><span style="color:#004DBB;">            #post - sends HTTP POST requestwith params serialized as Content-Type:application/x-www-form-urlencoded;charset=utf-8;</span></p> <p><span style="color:#004DBB;">            #post-data - sends HTTP POST requestwith params serialized as Content-Type: multipart/form-data; boundary= ...;</span></p> <p><span style="color:#004DBB;">            #put-data - sends HTTP PUT requestwith params serialized as Content-Type: multipart/form-data; boundary= ...;</span></p> <p><span style="color:#004DBB;">            #post-json - sends HTTP POSTrequest with params serialized as JSON,</span><span style="color:#004DBB;">В</span><span style="color:#004DBB;"> Content-Type: application/json;charset=utf-8;</span></p> <p><span style="color:#004DBB;">            #put-json - sends HTTP PUT requestwith params serialized as JSON, Content-Type: application/json;charset=utf-8;</span></p> <p><span style="color:#004DBB;">            #delete - - sends HTTP DELETErequest.</span></p> <p><span style="color:#004DBB;"> </span></p> <p><span style="color:#004DBB;">        url is a string - url of the page(location) on the server handling HTTP requests.</span></p> <p><span style="color:#004DBB;">        params is an object, its properties areserving role of parameters of HTTP request.</span></p> <p><span style="color:#004DBB;">        headers is an object - a map ofadditional header key/value pairs to send along with the request.</span></p> <p><span style="color:#004DBB;">        returns: true|false for asynchronousrequests or pair of (status:integer,data:any) - result of the request (see databelow) and HTTP status code (e.g. 200 - OK, 404 - resource was not found on theserver).</span></p> <p><span style="color:#004DBB;">回调函数</span><span style="color:#004DBB;">:</span></p> <p><span style="color:#004DBB;">    function dataArrivedCallback( data: any,status: integer );</span></p> <p><span style="color:#004DBB;">data</span><span style="color:#004DBB;">的内容</span><span style="color:#004DBB;">:</span></p> <p><span style="color:#004DBB;">        instanceof Error object, in case ofdata response parsing problems;</span></p> <p><span style="color:#004DBB;">        stream, if data returned by the serveris of textual type (text/plain, text/html, text/xml, etc.)</span></p> <p><span style="color:#004DBB;">        instanceof Object, Array, etc. ifresponse has content type text/javascript, text/ecmascript, text/tiscript orapplication/json and was successfully parsed into data object.</span></p> <p><span style="color:#004DBB;">        Bytes, if data returned by the serveris of binary type (image/*, etc.). Bytes.type in this case will contain astring - mime-type of the data reported by the server.</span></p> <p><span style="color:#004DBB;">    status code is an integer - HTTP statuscode (e.g. 200 - OK, 404 - resource was not found on the server) or if code isgreater than 12000 it is a WinInet error code, see:<span style="color:#0000FF;">http://support.microsoft.com/kb/193625</span>.</span></p> <p>48、getState ( [stateFlags:int] ):int </p> <p>49、setState ( stateFlags:int):void </p> <p>50、clearState ( stateFlags:int ):void </p> <p>51、capture ( onOff: true|false ):void // 捕获鼠标</p> <p>52、popup ( el: Element,placement: int ) :void  // 弹出xxx</p> <p>    参数的含义:</p> <p><span style="color:#004DBB;">        2 - popup element below this element(anchor);</span></p> <p><span style="color:#004DBB;">        8 - popup element above this element;</span></p> <p><span style="color:#004DBB;">        4 - popup element on the left side ofthis element;</span></p> <p><span style="color:#004DBB;">        6 - popup element on right side of thiselement;</span></p> <p>53、popup ( el: Element, x:int,y:int ) :void </p> <p>54、closePopup () :void </p> <p>55、timer ( milliseconds: integer,callback: function )  // 回调函数返回true则继续timer, 否则停止, milliseconds = 0 则停止timer</p> <p>56、graphics ( [ color: integer |color: color[, forceInitialization:bool = true ]] ) : Graphics</p> <p>57、graphics ( #destroy ) :Graphics | null </p> <p>58、swap (other: Element ) : null// positions of two elements </p> <p>59、sendEvent ( eventCode:int [,reason: int [, owner: Element | null [, data:value ]]] ) : true | false | value// 遍历 parent/child 该事件可以被onControlEvent() 方法处理.</p> <p>60、sendEvent ( event:string [,data:value ] ) : true | false | value</p> <p>61、postEvent ( event:string [,data:value ] ) : true</p> <p>62、postEvent ( eventCode:int [,reason: int [, owner: Element | null [, data:value ]]] ) : undefined</p> <p>63、sendKeyEvent ( eventDef:object ) : true | false | undefined</p> <p>    sendKeyEvent 可以是以下几种类型:</p> <p><span style="color:#004DBB;">    { type: Event.KEY_DOWN, Event.KEY_UP,Event.KEY_CHAR; // type if key event</span></p> <p><span style="color:#004DBB;">      keyCode: int; // Key or char code, e.g.'O'</span></p> <p><span style="color:#004DBB;">      altKey: true or false; // optional, 'ALT'key pressed flag</span></p> <p><span style="color:#004DBB;">      shiftKey: true or false; // optional,'SHIFT' key pressed flag</span></p> <p><span style="color:#004DBB;">      ctrlKey: true or false; // optional,'CTRL' key pressed flag</span></p> <p><span style="color:#004DBB;">    }</span></p> <p>64、sendMouseEvent ( eventDef:object ) : true | false | undefined </p> <p>65、post ( callback: function[,only_if_not_there:boolean] ) : undefined </p> <p>66、url ( [ relativeUrl: string ]) : string </p> <p>67、sort ( comparator: function [,fromIndex: integer [, numOfElements:integer]] ) : void</p> <p>68、move ( [x: int, y: int [, w:int, h: int] [, #view | #root | #screen]] ) : void</p> <p>69、textWidth ( text: string ) :int </p> <p>70、textHeight ( text: string ) :int </p> <p>71、subscribe ( handler: function,eventGroup : int [, eventType: int] ) : <this element></p> <p>72、unsubscribe (handler: function) or (eventGroup : int [, eventType: int]) : <this element></p> <p>73、unsubscribe (event : string [,selector: string]) : <this element></p> <p>74、rowElements (rowNo: integer) :array of Elements </p> <p>75、columnElements (colNo:integer) : array of Elements</p> <p>76、rowY (rowNo: integer) : (y:integer, height: integer) </p> <p>77、columnX (colNo: integer) : (x:integer, width: integer) </p> <p>78、transact ( action:function [, name:string]) : true | false</p> <p>79、onGesture(event): true|false </p> <p>80、onScroll(event) : true|false </p> <p>81、attached() : void </p> <p>82、onTimer() </p> <p>83、onSize()  </p> <p>84、self.ready() </p> <p>85、self.closing() // 返回false可以阻止窗口关闭</p> <p> </p> <p><span style="color:#0000FF;">Script Dom</span><span style="color:#0000FF;">之</span><span style="color:#0000FF;"> Attributes</span><span style="color:#0000FF;">:</span></p> <p><strong><span style="color:#004DBB;">属性</span></strong>:(element.attribytes访问)</p> <p>Length, [index]</p> <p><strong><span style="color:#004DBB;">方法</span></strong>:</p> <p>1、name (index) returns: string  // 序号从0开始</p> <p>2、clear () returns: N/A </p> <p>3、remove (attr) returns: N/A  // 参数可以是name或index </p> <p>4、exists (attr) returns: true|false  // 参数可以是name或index</p> <p>5、addClass (className1: string [, ... classNameN: string] ) </p> <p>6、removeClass (className1: string [, ... classNameN:string ] ) </p> <p>7、toggleClass (className: string [, on: boolean ] ) //on == true 则添加,false删除</p> <p>8、hasClass (className: string ) : boolean // 是否有对应的类名</p> <p> </p> <p><span style="color:#0000FF;">Script Dom</span><span style="color:#0000FF;">之</span><span style="color:#0000FF;"> Style</span><span style="color:#0000FF;">:</span></p> <p><strong><span style="color:#004DBB;">属性</span></strong>:(element.style访问)</p> <p>[attname] string  // 属性的名称,参看 <u><span style="color:#0000FF;"><span style="color:#0000FF;">list of supported names of CSS attributes</span></span></u>.</p> <p><span style="color:#004DBB;">// </span><span style="color:#004DBB;">在</span><span style="color:#004DBB;">TIScript</span><span style="color:#004DBB;">中,可以通过以下方式修改:</span></p> <p><span style="color:#004DBB;">el.style["background-color"]= "red";  </span><span style="color:#004DBB;">等价于</span><span style="color:#004DBB;"> el.style#background-color ="red";</span></p> <p><span style="color:#004DBB;">// </span><span style="color:#004DBB;">清除属性值,可以这样设置:</span></p> <p><span style="color:#004DBB;">el.style#background-color= undefined; //  </span><span style="color:#004DBB;">清除运行时属性,其样式决定于</span><span style="color:#004DBB;">CSS</span><span style="color:#004DBB;">设置</span></p> <p><strong><span style="color:#004DBB;">方法:</span></strong></p> <p>1、clear ()returns: Style // 清除所有通过 [] 和 Set() 设置的属性值</p> <p>2、set (attributes: Object ) returns: Style // 设置或清除多个属性值,其调用可用如下形式:</p> <p><span style="color:#004DBB;">// </span><span style="color:#004DBB;">多个属性同时设置:</span></p> <p><span style="color:#004DBB;">    el.style.set {</span></p> <p><span style="color:#004DBB;">       display: "block",</span></p> <p><span style="color:#004DBB;">       width: px(40),</span></p> <p><span style="color:#004DBB;">       height: px(20)</span></p> <p><span style="color:#004DBB;">    };</span></p> <p>3、rules ( )returns: Array // 按照指定形式返回规则</p> <p><span style="color:#004DBB;">{ type:#style-rule, selector: <string>, file: <string>, lineNo: integer; }- for the rule defined in CSS;</span></p> <p><span style="color:#004DBB;">{ type:#inline-style, text: <string> } - for styles defined by thestyle="..." attribute in the DOM;</span></p> <p><span style="color:#004DBB;">{ type:#runtime-style } - designates that the element has styles set in runtimethrough script.</span></p> <p>4、all ( )returns: Object </p> <p>5、constant ( name:string | symbol ) returns: value | array // 返回在CSS中定义的常量值</p> <p><span style="color:#3366FF;">    @const SINGLE: #ff007f;</span></p> <p><span style="color:#3366FF;">    @const MULTY: 12px 14px;</span></p> <p>6、dimension (width:length | int | undefined, height: length | int | undefined [, delayed: false |true] )</p> <p><span style="color:#3366FF;">// </span><span style="color:#3366FF;">等价于下面,不同的是</span><span style="color:#3366FF;">delayed=true</span><span style="color:#3366FF;">时,在需要刷新时才更新,适用于频繁设置的场合</span></p> <p><span style="color:#3366FF;">    elem.style.width = ... ;</span></p> <p><span style="color:#3366FF;">    elem.style.height = ... ;</span></p> <p> </p> <p><span style="color:#0000FF;">Script Dom</span><span style="color:#0000FF;">之</span><span style="color:#0000FF;"> States</span><span style="color:#0000FF;">:</span></p> <p><strong><span style="color:#004DBB;">属性</span></strong>:(element.states访问)</p> <p>1、link  rw - true/false, // 如果是超链接,true</p> <p>2、hover  rw - true/false,  // 如果是鼠标悬停状态,true</p> <p>3、active  rw - true/false,  // 如果是选中,true</p> <p>4、focus  rw - true/false,  // 如果是焦点,true , el.state.focus = true;</p> <p>5、tabfocus  r - true/false,  // 如果是可以Tab选中,true , TAB/SHIFT+TAB key handling.</p> <p>6、visited  rw - true/false, // 访问过了</p> <p>7、current  rw - true/false,  </p> <p>8、checked  rw - true/false,</p> <p>9、disabled  rw - true/false,</p> <p>10、readonly  rw - true/false,</p> <p>11、expanded  rw - true/false,</p> <p>12、collapsed  rw - true/false,</p> <p>13、incomplete  rw - true/false,</p> <p>14、animating  r - true/false, // 元素正在执行动画</p> <p>15、focusable  rw - true/false,  // 可以处于focus状态</p> <p>16、anchor  rw - true/false,  //元素是一个锚(第一个元素)的选择</p> <p>17、synthetic  rw - true/false, // 元素是合成的</p> <p>18、popup  rw - true/false, // 元素是一个弹出窗口,false就会关闭窗口 // el.state.popup= false;</p> <p>19、ownspopup  r - true/false,  // el.popup(elementToPopup,pos); will cause this flag to be set for the element el.</p> <p>20、empty  r - true/false, // 没有子节点和文本</p> <p>21、busy  rw - true/false,  // by calling el.request(...) ,数据没准备好</p> <p>22、dragover  r - true/false,  // 被拖拽的元素放到了这个元素上面</p> <p>23、droptarget  r - true/false  // 元素正在被拖拽</p> <p>24、moving、copying  r - true/false,  // 元素或者它的副本正在被拖拽</p> <p>25、dragsource  r - true/false, // 元素也是其中被拖拽的对象</p> <p>26、pressed  rw - true/false, // 鼠标在元素上面按下了</p> <p>27、isltr、isrtl  r - true/false, // elementis in directional environment - itself or one of its parents has attribute dirdefined.</p> <p>28、value  rw - "raw" value ofthe element.  // 有动作则动作名称,否则是文本内容,(参考 Element.text).</p> <p><strong><span style="color:#004DBB;">方法</span></strong>:</p> <p>get  () returns: int </p> <p>set  (flags:int) returns: undefined </p> <p>clear  (flags:int) returns: undefined </p> <p> </p> <p><span style="color:#0000FF;">Script Dom</span><span style="color:#0000FF;">之</span><span style="color:#0000FF;"> Selection</span><span style="color:#0000FF;">:</span></p> <p><strong><span style="color:#004DBB;">属性</span></strong>:(element.states访问)</p> <p>1、type  null | symbol, read-onlyproperty.  // 选区的类型: #text, #cells, #blocks. </p> <p>2、isCollapsed  true | false, read-onlyproperty. // 选区收缩状态,selection.start ==selection.end.</p> <p>3、anchor  null | bookmark, read-onlyproperty. // DOM position of selection anchor. 锚点</p> <p>4、caret  null | bookmark, read-onlyproperty.  // DOM position of selection caret. 插入符</p> <p>5、start  null | bookmark, read-onlyproperty.  // caret or anchor, whichever is lower in DOM order. 起始位置</p> <p>6、end  null | bookmark, read-onlyproperty.  // caret or anchor, whichever is greater in DOM order. 结束位置</p> <p>7、text  string, read-only property.  // 文本内容 </p> <p>8、html  string, read-only property.  // HTML片段</p> <p><strong><span style="color:#004DBB;">方法</span></strong>:</p> <p>collapse (towhat:symbol ) returns: bookmark. // 设置选区位置 #toCaret, #toAnchor,#toStartor #toEnd</p> <p>select (caret:bookmark [ , anchor:bookmark ] ) returns: true | false // 设置选区范围</p> <p>advance (what:symbol, direction:symbol [, units:symbol] ) returns: true | false.  // var bm = [bookmark: node,index, after];</p> <p> </p> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1297423249570865152"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(界面库,跨平台)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1903482892651130880.htm" title="自定义kafka高效的protoStuff序列化" target="_blank">自定义kafka高效的protoStuff序列化</a> <span class="text-muted">_夜渐凉</span> <a class="tag" taget="_blank" href="/search/%E2%97%8F/1.htm">●</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/kafka/1.htm">kafka</a><a class="tag" taget="_blank" href="/search/protoStuff/1.htm">protoStuff</a><a class="tag" taget="_blank" href="/search/%E5%BA%8F%E5%88%97%E5%8C%96/1.htm">序列化</a> <div>Duang,最近搭建了一个自己的博客小破站,欢迎各位小伙伴来访吖:https://www.ares-stack.cn/blog_service/#/game目前序列化领域中,谷歌的protobuf应该是性能好,效率高的了,并且protobuf支持多种语言,可跨平台,跨语言但使用起来并不像其他序列化那么简单(首先要写.proto文件,然后编译.proto文件,生成对应的.java文件)protost</div> </li> <li><a href="/article/1903420253690458112.htm" title="CMake、CMakeLists.txt、Makefile、Make、GNU、gcc、g++" target="_blank">CMake、CMakeLists.txt、Makefile、Make、GNU、gcc、g++</a> <span class="text-muted">進擊的L酱</span> <a class="tag" taget="_blank" href="/search/Makefile/1.htm">Makefile</a><a class="tag" taget="_blank" href="/search/gcc/1.htm">gcc</a><a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</a><a class="tag" taget="_blank" href="/search/gnu/1.htm">gnu</a><a class="tag" taget="_blank" href="/search/unix/1.htm">unix</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a> <div>CMake、CMakeLists.txt、Makefile、Make、GNU、gcc、g++CMakeCMakeLists.txtMakefileMakeGNUGCC(GNUCompilerCollection)gcc/g++CMakeCMake(crossplatfrommake)是一个跨平台的编译工具,可以用简单的语句来描述所有平台的编译过程。它能够输出各种各样的makefile或者proje</div> </li> <li><a href="/article/1903405997347631104.htm" title="GStreamer —— 3.1、Qt+GStreamer制作多功能播放器,支持本地mp4文件、rtsp流、usb摄像头等(可跨平台,附源码)" target="_blank">GStreamer —— 3.1、Qt+GStreamer制作多功能播放器,支持本地mp4文件、rtsp流、usb摄像头等(可跨平台,附源码)</a> <span class="text-muted">信必诺</span> <a class="tag" taget="_blank" href="/search/GStreamer/1.htm">GStreamer</a><a class="tag" taget="_blank" href="/search/Qt/1.htm">Qt</a><a class="tag" taget="_blank" href="/search/GStreamer/1.htm">GStreamer</a><a class="tag" taget="_blank" href="/search/Qt/1.htm">Qt</a> <div>运行效果  介绍     本项目基于Qt和GStreamer开发了一款多功能播放器,</div> </li> <li><a href="/article/1903405998836609024.htm" title="GStreamer —— 3.2、Qt+GStreamer+OpenCV制作图像处理播放器(对每帧图像处理),支持本地mp4文件、rtsp流、usb摄像头等(可跨平台,附源码)" target="_blank">GStreamer —— 3.2、Qt+GStreamer+OpenCV制作图像处理播放器(对每帧图像处理),支持本地mp4文件、rtsp流、usb摄像头等(可跨平台,附源码)</a> <span class="text-muted">信必诺</span> <a class="tag" taget="_blank" href="/search/GStreamer/1.htm">GStreamer</a><a class="tag" taget="_blank" href="/search/Qt/1.htm">Qt</a><a class="tag" taget="_blank" href="/search/GStreamer/1.htm">GStreamer</a><a class="tag" taget="_blank" href="/search/Qt/1.htm">Qt</a> <div>运行效果 介绍     本项目是一个结合了Qt、GStreamer和OpenCV的跨平台图像处理播放器项目。该</div> </li> <li><a href="/article/1903400076173176832.htm" title="Python基础知识点总结" target="_blank">Python基础知识点总结</a> <span class="text-muted">豆芽819</span> <a class="tag" taget="_blank" href="/search/tip/1.htm">tip</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>1Python简介Python特点:解释型语言:无需编译,逐行执行。动态类型:变量类型在运行时确定。简洁易读:语法接近自然语言,代码简洁。跨平台支持:Windows/Linux/macOS均可运行。应用领域:Web开发、数据分析、人工智能、自动化脚本等。开发环境:推荐使用IDLE、PyCharm、VSCode或JupyterNotebook。2Python数值运算基本运算符:算术:+,-,*,/,</div> </li> <li><a href="/article/1903346865622020096.htm" title="chokidar - chokidar 初识(初识案例演示、初识案例解读、初识案例测试)" target="_blank">chokidar - chokidar 初识(初识案例演示、初识案例解读、初识案例测试)</a> <span class="text-muted">我命由我12345</span> <a class="tag" taget="_blank" href="/search/Node.js/1.htm">Node.js</a><a class="tag" taget="_blank" href="/search/%E7%AE%80%E5%8C%96%E5%BA%93%E7%BC%96%E7%A8%8B/1.htm">简化库编程</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/js/1.htm">js</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E6%A1%86%E6%9E%B6/1.htm">前端框架</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/npm/1.htm">npm</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a> <div>一、chokidar1、chokidar概述chokidar是一个用于监视文件系统变化的Node.js库chokidar提供了一种简单、高效的方式来监视文件和目录的创建、修改、删除等操作chokidar是是fs.watch和fs.watchFile方法的增强版,解决了它们在一些平台上的不一致性和局限性2、chokidar的特点跨平台的支持:chokidar在Windows、Linux、macOS上</div> </li> <li><a href="/article/1903158115910610944.htm" title="LaTeX从零到精通的系统化指南" target="_blank">LaTeX从零到精通的系统化指南</a> <span class="text-muted">niuTaylor</span> <a class="tag" taget="_blank" href="/search/%E5%AD%A6%E6%9C%AF%E5%8C%BA/1.htm">学术区</a><a class="tag" taget="_blank" href="/search/latex/1.htm">latex</a> <div>以下是一份结构清晰的LaTeX入门指南,整合了核心知识点与实战技巧,结合官方文档与社区经验总结而成:LaTeX从零到精通的系统化指南一、环境搭建与基础配置1.安装方案TeX发行版:推荐TeXLive(跨平台)或MiKTeX(Windows优先)编辑器:VSCode+LaTeXWorkshop插件(智能补全/实时预览)或TeXstudio(新手友好)2.中文支持\documentclass{arti</div> </li> <li><a href="/article/1903102883256135680.htm" title="免费界面库 python_一个非常简单好用的Python图形界面库(PysimpleGUI)" target="_blank">免费界面库 python_一个非常简单好用的Python图形界面库(PysimpleGUI)</a> <span class="text-muted">不妧</span> <a class="tag" taget="_blank" href="/search/%E5%85%8D%E8%B4%B9%E7%95%8C%E9%9D%A2%E5%BA%93/1.htm">免费界面库</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>前一阵,我在为朋友编写一个源代码监控程序的时候,发现了一个Python领域非常简单好用的图形界面库。说起图形界面库,你可能会想到TkInter、PyQt、PyGUI等流行的图形界面库,我也曾经尝试使用,一个很直观的感受就是,这太难用了。就去网上搜搜,看看有没有一些demo,拿来改改,结果很少有,当时我就放弃了这些图形库的学习,转而使用了vue+flask的形式以浏览器网页作为程序界面,因为我会这个</div> </li> <li><a href="/article/1903064533841276928.htm" title="GitHub霸榜神器!NextChat领衔DeepSeek全栈开发范式" target="_blank">GitHub霸榜神器!NextChat领衔DeepSeek全栈开发范式</a> <span class="text-muted">大禹智库</span> <a class="tag" taget="_blank" href="/search/%E3%80%8A%E5%90%91%E9%87%8F%E6%95%B0%E6%8D%AE%E5%BA%93%E6%8C%87%E5%8D%97%E3%80%8B/1.htm">《向量数据库指南》</a><a class="tag" taget="_blank" href="/search/%E3%80%8A%E5%AE%9E%E6%88%98AI%E6%99%BA%E8%83%BD%E4%BD%93%E3%80%8B/1.htm">《实战AI智能体》</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a><a class="tag" taget="_blank" href="/search/RAG/1.htm">RAG</a><a class="tag" taget="_blank" href="/search/AI%E6%99%BA%E8%83%BD%E4%BD%93/1.htm">AI智能体</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/Manus/1.htm">Manus</a><a class="tag" taget="_blank" href="/search/deepseek/1.htm">deepseek</a><a class="tag" taget="_blank" href="/search/NextChat/1.htm">NextChat</a> <div>一、项目概况与生态定位NextChat(原ChatGPT-Next-Web)是GitHub上斩获81.2K星标的现象级开源项目,定位为"轻量级AI助手终端",支持DeepSeek、Claude、GPT-4、Gemini等20+主流大模型。其核心价值在于以5MB超小客户端实现跨平台(Windows/Mac/Linux/iOS/Android)无缝衔接,同时提供云端一键部署方案,成为个人用户与企业私有</div> </li> <li><a href="/article/1903052678578106368.htm" title="PakePlus支持将vue/react等项目打包为跨平台桌面软件了" target="_blank">PakePlus支持将vue/react等项目打包为跨平台桌面软件了</a> <span class="text-muted">1024小神</span> <a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%AB%AF%E5%BC%80%E5%8F%91/1.htm">多端开发</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>PakePLus介绍Turnanywebpage/Vue/ReactandsoonintoadesktopappandmobileappwithRust.轻松将任意网站/Vue/React等项目构建为轻量级(仅5M)多端桌面应用和多端手机应用。pakeplus开源地址:GitHub-Sjj1024/PakePlus:Turnanywebpage/Vue/Reactandsoonintoadeskt</div> </li> <li><a href="/article/1902964012576993280.htm" title="Java Web开发技术解析:从基础到实践的全栈指南" target="_blank">Java Web开发技术解析:从基础到实践的全栈指南</a> <span class="text-muted">以恒1</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>JavaWeb开发技术解析:从基础到实践的全栈指南在互联网技术演进中,JavaWeb凭借其跨平台特性、成熟的生态系统和强大的企业级服务能力,成为构建动态Web应用的核心技术栈。本文从技术组成、开发工具、实战应用三个维度,全面解析JavaWeb的完整技术体系,并结合最新行业实践探讨其演进方向。一、JavaWeb的核心技术组成JavaWeb开发以Servlet和JSP为基石,通过分层架构实现动态网页生</div> </li> <li><a href="/article/1902961489757663232.htm" title="Qt 自定义标题栏——QtWidgets" target="_blank">Qt 自定义标题栏——QtWidgets</a> <span class="text-muted">十年之少</span> <a class="tag" taget="_blank" href="/search/Qt/1.htm">Qt</a><a class="tag" taget="_blank" href="/search/Widgets/1.htm">Widgets</a><a class="tag" taget="_blank" href="/search/Qt/1.htm">Qt</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%AE%9A%E4%B9%89%E6%A0%87%E9%A2%98%E6%A0%8F/1.htm">自定义标题栏</a> <div>1.去掉标题栏,实现窗体拖动(常用)以上转载方法实现窗体拖动是通过Windows事件的;但是有时候为了跨平台这种的话就得重写,比较麻烦,所以还是采用最原始的方法:通过QWidgets的鼠标事件来实现。.h文件classQRCodeDialog:publicQDialog{Q_OBJECT...protected:voidmouseMoveEvent(QMouseEvent*event)overri</div> </li> <li><a href="/article/1902934988077199360.htm" title="API item_get 在电商平台的核心作用以及如何测试" target="_blank">API item_get 在电商平台的核心作用以及如何测试</a> <span class="text-muted">index_all</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E4%BE%9B%E5%BA%94%E5%95%86/1.htm">数据供应商</a><a class="tag" taget="_blank" href="/search/%E4%BA%AC%E4%B8%9Capi/1.htm">京东api</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>在电商行业蓬勃发展的今天,跨平台运营已成为众多商家的必然选择。然而,随之而来的数据孤岛问题却成为了制约电商企业进一步发展的瓶颈。为了解决这一问题,电商大数据平台应运而生,而item_getAPI作为获取商品详情的关键接口,在其中扮演着至关重要的角色。本文将深入探讨item_getAPI在跨平台电商数据整合中的应用与优势,为电商企业在数据驱动的道路上提供有力支持。一、跨平台电商数据整合的挑战在跨平台</div> </li> <li><a href="/article/1902930440650551296.htm" title="新人崛起,好用的远程控制软件它来啦!" target="_blank">新人崛起,好用的远程控制软件它来啦!</a> <span class="text-muted">2501_90729959</span> <a class="tag" taget="_blank" href="/search/%E8%BF%9C%E7%A8%8B%E6%8E%A7%E5%88%B6%E8%BD%AF%E4%BB%B6/1.htm">远程控制软件</a><a class="tag" taget="_blank" href="/search/RayLink/1.htm">RayLink</a><a class="tag" taget="_blank" href="/search/%E8%BF%9C%E7%A8%8B%E6%8E%A7%E5%88%B6/1.htm">远程控制</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>在如今数字化转型不断提速的大环境下,远程控制软件那可是企业办公、个人协作还有娱乐等方面都离不开的必备工具啦。不管是要实现跨地域的团队一起干活,还是提供远程技术支持,亦或是管理家里那些智能设备,“高效、稳定、安全”始终是大家最为关注的要点。而近来呢,一款名叫RayLink远程控制软件的新产品,凭借着它那真高清的画质、超低的延迟还有跨平台适配等厉害的地方,一下子就在市场里冒了出来,成了远程控制领域的一</div> </li> <li><a href="/article/1902925777519833088.htm" title="手机电脑如何通过跨平台远程控制工具来实现无缝互联" target="_blank">手机电脑如何通过跨平台远程控制工具来实现无缝互联</a> <span class="text-muted">2501_90729959</span> <a class="tag" taget="_blank" href="/search/RayLink/1.htm">RayLink</a><a class="tag" taget="_blank" href="/search/%E8%BF%9C%E7%A8%8B%E6%8E%A7%E5%88%B6%E5%B7%A5%E5%85%B7/1.htm">远程控制工具</a><a class="tag" taget="_blank" href="/search/%E8%BF%9C%E7%A8%8B%E6%8E%A7%E5%88%B6%E8%BD%AF%E4%BB%B6/1.htm">远程控制软件</a><a class="tag" taget="_blank" href="/search/%E6%99%BA%E8%83%BD%E6%89%8B%E6%9C%BA/1.htm">智能手机</a><a class="tag" taget="_blank" href="/search/%E7%94%B5%E8%84%91/1.htm">电脑</a> <div>在如今数字化办公和生活的场景里,远程控制工具已经成了连接各种设备的关键桥梁。不管是跨系统协作、远程技术支持,还是让移动端和电脑端高效联动,用户对这些工具的要求早就从“能用就行”变成了“得用得顺手”。接下来,我就从跨平台兼容性、画质性能、安全性和操作体验这四个主要方面,来聊聊现在主流的远程控制工具都有啥特点。重点说说RayLink远程控制软件,看看它是怎么通过技术创新,让手机和电脑实现无缝互联的。一</div> </li> <li><a href="/article/1902913789863456768.htm" title="cherry-studio - 多模型支持的跨平台 AI 桌面助手" target="_blank">cherry-studio - 多模型支持的跨平台 AI 桌面助手</a> <span class="text-muted">小众AI</span> <a class="tag" taget="_blank" href="/search/AI%E5%BC%80%E6%BA%90/1.htm">AI开源</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/AI%E7%BC%96%E7%A8%8B/1.htm">AI编程</a> <div>GitHub:https://github.com/CherryHQ/cherry-studio更多AI开源软件:发现分享好用的AI工具、AI开源软件、AI模型、AI变现-小众AI一款支持多种大语言模型服务的跨平台桌面客户端,兼容Windows、Linux和macOS系统。它支持主流云端模型(如OpenAI、Anthropic等)以及本地模型(如Ollama、LMStudio),能够满足文本生成、</div> </li> <li><a href="/article/1902879617493037056.htm" title="实用工具-Another Redis Desktop Manager介绍" target="_blank">实用工具-Another Redis Desktop Manager介绍</a> <span class="text-muted">吕海洋</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E5%B7%A5%E5%85%B7/1.htm">工具</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>GitHub:https://github.com/qishibo/AnotherRedisDesktopManager/releasesGitee:AnotherRedisDesktopManager发行版-Gitee.comAnotherRedisDesktopManager是一款免费的Redis可视化管理工具,具有以下特点和功能:特点跨平台支持:兼容Windows、Mac、Linux等操作系</div> </li> <li><a href="/article/1902806571113574400.htm" title="Node.js技术原理分析系列6——基于 V8 封装一个自己的 JavaScript 运行时" target="_blank">Node.js技术原理分析系列6——基于 V8 封装一个自己的 JavaScript 运行时</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AFnode.js/1.htm">前端node.js</a> <div>Node.js是一个开源的、跨平台的JavaScript运行时环境,它允许开发者在服务器端运行JavaScript代码。Node.js是基于ChromeV8引擎构建的,专为高性能、高并发的网络应用而设计,广泛应用于构建服务器端应用程序、网络应用、命令行工具等。本系列将分为9篇文章为大家介绍Node.js技术原理:从调试能力分析到内置模块新增,从性能分析工具perf_hooks的用法到ChromeD</div> </li> <li><a href="/article/1902784778076221440.htm" title="从 0 开始使用 cursor 开发一个移动端跨平台应用程序" target="_blank">从 0 开始使用 cursor 开发一个移动端跨平台应用程序</a> <span class="text-muted">沐怡旸</span> <a class="tag" taget="_blank" href="/search/react/1.htm">react</a><a class="tag" taget="_blank" href="/search/native/1.htm">native</a> <div>1.安装必要的工具和环境在开始之前,确保你的开发环境已经安装了以下工具:a.安装Node.js和npmReactNative依赖Node.js和npm(NodePackageManager)。你可以从Node.js官网下载并安装最新版本。b.安装PythonReactNative的Android开发需要Python。确保你已经安装了Python2.7或Python3.x。c.安装Java环境Rea</div> </li> <li><a href="/article/1902649582874062848.htm" title="《Flutter从入门到实战:手把手构建跨平台应用(万字深度解析)》" target="_blank">《Flutter从入门到实战:手把手构建跨平台应用(万字深度解析)》</a> <span class="text-muted">前端极客探险家</span> <a class="tag" taget="_blank" href="/search/flutter/1.htm">flutter</a> <div>目录标题前言:为什么选择Flutter?一、Flutter基础篇:环境搭建与核心概念1.1开发环境配置1.2项目结构深度解析二、核心机制:Widget与渲染原理2.1Widget树构建原理2.2状态管理方案对比三、企业级开发实战3.1工程化架构设计3.2典型功能实现四、进阶开发技巧4.1性能优化方案4.2平台特定代码集成五、项目实战:开发企业级Todo应用(深度扩展版)5.1项目初始化与工程化配置</div> </li> <li><a href="/article/1902593208039305216.htm" title="初识HTML中的div块元素—零基础自学网页制作" target="_blank">初识HTML中的div块元素—零基础自学网页制作</a> <span class="text-muted">猿说前端</span> <a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/web%E5%BC%80%E5%8F%91/1.htm">web开发</a> <div>块元素基础属性讲解元素是个有故事的元素,这个元素很早就出现在html超文本标记语言中,它设计之初就是为了解决网页页面布局的需求。但是遗憾的是它出生后一直怀才不遇。在我还上初中的时候,智能手机还没有出现,更没有平板电脑等移动设备。上网是通过摆在桌子上的计算机来完成的。那时,大街小巷上有好多网吧。那时,马云刚刚辞去工作准备创业。那时,发送邮件的操作都会出现在计算机课程中。那时,对页面还没有现在的跨平台</div> </li> <li><a href="/article/1902592576599420928.htm" title="当现代教育技术遇上仓颉---探秘华为仓颉编程语言与未来教育技术的接轨" target="_blank">当现代教育技术遇上仓颉---探秘华为仓颉编程语言与未来教育技术的接轨</a> <span class="text-muted">想成为高手499</span> <a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA/1.htm">华为</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a> <div>引言随着人工智能、物联网、区块链等新兴技术的发展,编程语言的需求也在不断演化。据市场研究机构发布的数据显示,全球编程语言市场规模预计在未来五年内将以每年10%的速度增长。此外,越来越多的企业和高校正在积极推动基于分布式系统和硬件优化的新型语言开发,这进一步表明对高性能编程语言的需求日益旺盛。近年来,华为推出了自研编程语言“仓颉”,以其高效的语法设计、灵活的语义表达能力和强大的跨平台适配性能引发了编</div> </li> <li><a href="/article/1902535699349958656.htm" title="基于Puppeteer与Selenium的跨浏览器自动化测试全攻略——从环境搭建到实战优化,万字详解自动化测试落地" target="_blank">基于Puppeteer与Selenium的跨浏览器自动化测试全攻略——从环境搭建到实战优化,万字详解自动化测试落地</a> <span class="text-muted">追寻向上</span> <a class="tag" taget="_blank" href="/search/selenium/1.htm">selenium</a><a class="tag" taget="_blank" href="/search/%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7/1.htm">测试工具</a> <div>自动化测试的价值与工具选型为什么需要自动化测试?效率提升:减少重复人工操作,回归测试耗时降低80%精准覆盖:支持高频次、多场景、多设备验证质量保障:避免人为疏忽导致的漏测问题Puppeteer与Selenium的互补性Puppeteer:专精Chrome生态,适用于高性能截图、动态渲染、复杂交互场景Selenium:支持多浏览器(Firefox/Safari/Edge),适合跨平台兼容性测试协同方</div> </li> <li><a href="/article/1902535694685892608.htm" title="基于图像比对的跨平台UI一致性校验工具开发全流程指南——Android/iOS/Web三端自动化测试实战" target="_blank">基于图像比对的跨平台UI一致性校验工具开发全流程指南——Android/iOS/Web三端自动化测试实战</a> <span class="text-muted">追寻向上</span> <a class="tag" taget="_blank" href="/search/ui/1.htm">ui</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/ios/1.htm">ios</a> <div>一、需求背景与方案概述1.1为什么需要跨平台UI校验?在移动互联网时代,同一产品需覆盖Android、iOS和Web三端。由于不同平台的开发框架(如Android的MaterialDesign与iOS的Cupertino风格)及渲染引擎差异,UI界面易出现以下问题:布局错位:按钮位置偏移、文本换行不一致视觉差异:颜色色差、字体粗细不同交互逻辑冲突:滑动方向、弹窗动画不一致传统人工测试效率低且易遗漏</div> </li> <li><a href="/article/1902510852959956992.htm" title="flutter 专题 一百零三" target="_blank">flutter 专题 一百零三</a> <span class="text-muted">leluckys</span> <a class="tag" taget="_blank" href="/search/Flutter%E9%9D%A2%E8%AF%95%E4%B8%8E%E5%AE%9E%E6%88%98/1.htm">Flutter面试与实战</a><a class="tag" taget="_blank" href="/search/flutter/1.htm">flutter</a><a class="tag" taget="_blank" href="/search/cocoa/1.htm">cocoa</a><a class="tag" taget="_blank" href="/search/macos/1.htm">macos</a> <div>前不久,谷歌官方正式发布了Flutter的首个发布预览版(ReleasePreview1),这标志着谷歌进入了Flutter正式版(1.0)发布前的最后阶段,同时作为Google的重量级跨平台开发方案,此次更新也吸引了多数的移动开发者的关注。使用Flutter从头开始写一个App是一件非常轻松惬意的事情,但在原生APP中接入Flutter会是什么效果呢,似乎并不是一件容易的事情,下面就讲解在iOS</div> </li> <li><a href="/article/1902460906852380672.htm" title="USB摄像头数据获取——libuvc" target="_blank">USB摄像头数据获取——libuvc</a> <span class="text-muted">jbjhzstsl</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>优点:跨平台支持:libuvc是一个跨平台的库,可以在不同的操作系统上使用,包括Linux、Windows和macOS等。简单易用:libuvc提供了一套简单易用的API,使得使用摄像头设备变得更加简便,尤其适合快速开发原型和简单应用。封装性好:libuvc封装了许多底层细节,如视频格式转换、缓冲区管理等,简化了开发过程。缺点:功能有限:相对于V4L2,libuvc提供的功能相对有限,可能无法满足</div> </li> <li><a href="/article/1902393426729562112.htm" title="代替Windows系统的最佳系统开发:开源、国产与跨平台的选择指南" target="_blank">代替Windows系统的最佳系统开发:开源、国产与跨平台的选择指南</a> <span class="text-muted">夏末之花</span> <a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90/1.htm">开源</a> <div>近年来,随着技术自主化和隐私安全需求的提升,越来越多的用户开始寻求Windows系统的替代方案。本文结合国内外热门操作系统及开发工具,分析其核心优势与适用场景,助你找到最适合的开发与日常使用平台。一、开源之王:Linux发行版1.Ubuntu与LinuxMint作为最受欢迎的Linux发行版,Ubuntu和LinuxMint以用户友好性著称,尤其适合从Windows迁移的用户。其内置的软件包管理器</div> </li> <li><a href="/article/1902388005302235136.htm" title="游戏开发引擎对比:Godot、Unity、Unreal与cocos2d的优劣分析" target="_blank">游戏开发引擎对比:Godot、Unity、Unreal与cocos2d的优劣分析</a> <span class="text-muted">scoone</span> <a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F%E5%BC%95%E6%93%8E/1.htm">游戏引擎</a><a class="tag" taget="_blank" href="/search/godot/1.htm">godot</a><a class="tag" taget="_blank" href="/search/unity/1.htm">unity</a> <div>在游戏开发的世界中,选择合适的游戏引擎是项目成功的关键之一。本文将对比四种流行的游戏开发引擎:Godot、Unity、UnrealEngine和cocos2d,分析各自的优缺点,帮助开发者做出明智的选择。Godot:优点:开源且免费,无商业授权费用。轻量级,适合中小型游戏开发。使用GDScript脚本语言,易于上手。跨平台支持良好。缺点:社区相对较小,资源不如Unity丰富。在3D游戏开发方面不如</div> </li> <li><a href="/article/1902322310598160384.htm" title="【一起学Rust | Tauri2.0框架】基于 Rust 与 Tauri 2.0 框架实现跨平台二维码扫描应用" target="_blank">【一起学Rust | Tauri2.0框架】基于 Rust 与 Tauri 2.0 框架实现跨平台二维码扫描应用</a> <span class="text-muted">金枝玉叶9</span> <a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98%E7%9F%A5%E8%AF%86%E5%82%A8%E5%A4%871/1.htm">程序员知识储备1</a><a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98%E7%9F%A5%E8%AF%86%E5%82%A8%E5%A4%872/1.htm">程序员知识储备2</a><a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98%E7%9F%A5%E8%AF%86%E5%82%A8%E5%A4%873/1.htm">程序员知识储备3</a><a class="tag" taget="_blank" href="/search/rust/1.htm">rust</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>《一起学Rust|Tauri2.0框架》是一个结合Rust语言与Tauri框架开发跨平台应用的教程。Tauri2.0是一个非常适合构建跨平台桌面应用的框架,它让开发者可以使用Web技术(如HTML、CSS、JavaScript)来创建前端,同时利用Rust编写后端逻辑,确保应用运行高效且轻量。在这个教程中,开发者可以学习如何使用Rust与Tauri2.0框架实现一个跨平台二维码扫描应用。具体步骤可</div> </li> <li><a href="/article/1902311584152219648.htm" title="【一起学Rust | Tauri2.0框架】基于 Rust 与 Tauri 2.0 框架实现生物识别(指纹识别)应用" target="_blank">【一起学Rust | Tauri2.0框架】基于 Rust 与 Tauri 2.0 框架实现生物识别(指纹识别)应用</a> <span class="text-muted">广龙宇</span> <a class="tag" taget="_blank" href="/search/Tauri2%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91/1.htm">Tauri2应用开发</a><a class="tag" taget="_blank" href="/search/%E4%B8%80%E8%B5%B7%E5%AD%A6Rust/1.htm">一起学Rust</a><a class="tag" taget="_blank" href="/search/rust/1.htm">rust</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>前言Tauri,作为一个新兴的跨平台应用开发框架,允许开发者使用Web前端技术构建界面,并利用Rust的高性能和安全性编写后端逻辑。这种架构巧妙地结合了Web的灵活性和原生应用的性能,为开发者提供了一种构建高效、跨平台应用的全新选择。而生物识别技术,如指纹识别、面部识别等,则为应用安全提供了更高级别的保障。将生物识别技术集成到Tauri应用中,可以提升用户体验,增强应用安全性。试想一下,用户只需轻</div> </li> <li><a href="/article/22.htm" title="redis学习笔记——不仅仅是存取数据" target="_blank">redis学习笔记——不仅仅是存取数据</a> <span class="text-muted">Everyday都不同</span> <a class="tag" taget="_blank" href="/search/returnSource/1.htm">returnSource</a><a class="tag" taget="_blank" href="/search/expire%2Fdel/1.htm">expire/del</a><a class="tag" taget="_blank" href="/search/incr%2Flpush/1.htm">incr/lpush</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93%E5%88%86%E5%8C%BA/1.htm">数据库分区</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a> <div>最近项目中用到比较多redis,感觉之前对它一直局限于get/set数据的层面。其实作为一个强大的NoSql数据库产品,如果好好利用它,会带来很多意想不到的效果。(因为我搞java,所以就从jedis的角度来补充一点东西吧。PS:不一定全,只是个人理解,不喜勿喷)   1、关于JedisPool.returnSource(Jedis jeids)   这个方法是从red</div> </li> <li><a href="/article/149.htm" title="SQL性能优化-持续更新中。。。。。。" target="_blank">SQL性能优化-持续更新中。。。。。。</a> <span class="text-muted">atongyeye</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a> <div>1 通过ROWID访问表--索引 你可以采用基于ROWID的访问方式情况,提高访问表的效率, , ROWID包含了表中记录的物理位置信息..ORACLE采用索引(INDEX)实现了数据和存放数据的物理位置(ROWID)之间的联系. 通常索引提供了快速访问ROWID的方法,因此那些基于索引列的查询就可以得到性能上的提高. 2 共享SQL语句--相同的sql放入缓存 3 选择最有效率的表</div> </li> <li><a href="/article/276.htm" title="[JAVA语言]JAVA虚拟机对底层硬件的操控还不完善" target="_blank">[JAVA语言]JAVA虚拟机对底层硬件的操控还不完善</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/JAVA%E8%99%9A%E6%8B%9F%E6%9C%BA/1.htm">JAVA虚拟机</a> <div>      如果我们用汇编语言编写一个直接读写CPU寄存器的代码段,然后利用这个代码段去控制被操作系统屏蔽的硬件资源,这对于JVM虚拟机显然是不合法的,对操作系统来讲,这样也是不合法的,但是如果是一个工程项目的确需要这样做,合同已经签了,我们又不能够这样做,怎么办呢? 那么一个精通汇编语言的那种X客,是否在这个时候就会发生某种至关重要的作用呢? &n</div> </li> <li><a href="/article/403.htm" title="lvs- real" target="_blank">lvs- real</a> <span class="text-muted">男人50</span> <a class="tag" taget="_blank" href="/search/LVS/1.htm">LVS</a> <div>#!/bin/bash # # Script to start LVS DR real server. # description: LVS DR real server # #.  /etc/rc.d/init.d/functions VIP=10.10.6.252 host='/bin/hostname' case "$1" in sta</div> </li> <li><a href="/article/530.htm" title="生成公钥和私钥" target="_blank">生成公钥和私钥</a> <span class="text-muted">oloz</span> <a class="tag" taget="_blank" href="/search/DSA/1.htm">DSA</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8%E5%8A%A0%E5%AF%86/1.htm">安全加密</a> <div>package com.msserver.core.util; import java.security.KeyPair; import java.security.PrivateKey; import java.security.PublicKey; import java.security.SecureRandom; public class SecurityUtil { </div> </li> <li><a href="/article/657.htm" title="UIView 中加入的cocos2d,背景透明" target="_blank">UIView 中加入的cocos2d,背景透明</a> <span class="text-muted">374016526</span> <a class="tag" taget="_blank" href="/search/cocos2d/1.htm">cocos2d</a><a class="tag" taget="_blank" href="/search/glClearColor/1.htm">glClearColor</a> <div>要点是首先pixelFormat:kEAGLColorFormatRGBA8,必须有alpha层才能透明。然后view设置为透明glView.opaque = NO;[director setOpenGLView:glView];[self.viewController.view setBackgroundColor:[UIColor clearColor]];[self.viewControll</div> </li> <li><a href="/article/784.htm" title="mysql常用命令" target="_blank">mysql常用命令</a> <span class="text-muted">香水浓</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>连接数据库 mysql -u troy -ptroy 备份表 mysqldump -u troy -ptroy mm_database mm_user_tbl > user.sql 恢复表(与恢复数据库命令相同) mysql -u troy -ptroy mm_database < user.sql 备份数据库 mysqldump -u troy -ptroy</div> </li> <li><a href="/article/911.htm" title="我的架构经验系列文章 - 后端架构 - 系统层面" target="_blank">我的架构经验系列文章 - 后端架构 - 系统层面</a> <span class="text-muted">agevs</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a> <div>系统层面: 高可用性 所谓高可用性也就是通过避免单独故障加上快速故障转移实现一旦某台物理服务器出现故障能实现故障快速恢复。一般来说,可以采用两种方式,如果可以做业务可以做负载均衡则通过负载均衡实现集群,然后针对每一台服务器进行监控,一旦发生故障则从集群中移除;如果业务只能有单点入口那么可以通过实现Standby机加上虚拟IP机制,实现Active机在出现故障之后虚拟IP转移到Standby的快速</div> </li> <li><a href="/article/1038.htm" title="利用ant进行远程tomcat部署" target="_blank">利用ant进行远程tomcat部署</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a> <div>在javaEE项目中,需要将工程部署到远程服务器上,如果部署的频率比较高,手动部署的方式就比较麻烦,可以利用Ant工具实现快捷的部署。这篇博文详细介绍了ant配置的步骤(http://www.cnblogs.com/GloriousOnion/archive/2012/12/18/2822817.html),但是在tomcat7以上不适用,需要修改配置,具体如下: 1.配置tomcat的用户角色</div> </li> <li><a href="/article/1165.htm" title="获取复利总收入" target="_blank">获取复利总收入</a> <span class="text-muted">baalwolf</span> <a class="tag" taget="_blank" href="/search/%E8%8E%B7%E5%8F%96/1.htm">获取</a> <div>       public static void main(String args[]){         int money=200;         int year=1;         double rate=0.1; &</div> </li> <li><a href="/article/1292.htm" title="eclipse.ini解释" target="_blank">eclipse.ini解释</a> <span class="text-muted">BigBird2012</span> <a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a> <div>大多数java开发者使用的都是eclipse,今天感兴趣去eclipse官网搜了一下eclipse.ini的配置,供大家参考,我会把关键的部分给大家用中文解释一下。还是推荐有问题不会直接搜谷歌,看官方文档,这样我们会知道问题的真面目是什么,对问题也有一个全面清晰的认识。 Overview 1、Eclipse.ini的作用 Eclipse startup is controlled by th</div> </li> <li><a href="/article/1419.htm" title="AngularJS实现分页功能" target="_blank">AngularJS实现分页功能</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/AngularJS/1.htm">AngularJS</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E9%A1%B5/1.htm">分页</a> <div>        对于大多数web应用来说显示项目列表是一种很常见的任务。通常情况下,我们的数据会比较多,无法很好地显示在单个页面中。在这种情况下,我们需要把数据以页的方式来展示,同时带有转到上一页和下一页的功能。既然在整个应用中这是一种很常见的需求,那么把这一功能抽象成一个通用的、可复用的分页(Paginator)服务是很有意义的。   &nbs</div> </li> <li><a href="/article/1546.htm" title="[Maven学习笔记三]Maven archetype" target="_blank">[Maven学习笔记三]Maven archetype</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/ArcheType/1.htm">ArcheType</a> <div>archetype的英文意思是原型,Maven archetype表示创建Maven模块的模版,比如创建web项目,创建Spring项目等等.   mvn archetype提供了一种命令行交互式创建Maven项目或者模块的方式,   mvn archetype   1.在LearnMaven-ch03目录下,执行命令mvn archetype:gener</div> </li> <li><a href="/article/1673.htm" title="【Java命令三】jps" target="_blank">【Java命令三】jps</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/Java%E5%91%BD%E4%BB%A4/1.htm">Java命令</a> <div>jps很简单,用于显示当前运行的Java进程,也可以连接到远程服务器去查看   [hadoop@hadoop bin]$ jps -help usage: jps [-help] jps [-q] [-mlvV] [<hostid>] Definitions: <hostid>: <hostname>[:</div> </li> <li><a href="/article/1800.htm" title="ZABBIX2.2 2.4 等各版本之间的兼容性" target="_blank">ZABBIX2.2 2.4 等各版本之间的兼容性</a> <span class="text-muted">ronin47</span> <div>zabbix更新很快,从2009年到现在已经更新多个版本,为了使用更多zabbix的新特性,随之而来的便是升级版本,zabbix版本兼容性是必须优先考虑的一点 客户端AGENT兼容 zabbix1.x到zabbix2.x的所有agent都兼容zabbix server2.4:如果你升级zabbix server,客户端是可以不做任何改变,除非你想使用agent的一些新特性。 Zabbix代理(p</div> </li> <li><a href="/article/1927.htm" title="unity 3d还是cocos2dx哪个适合游戏?" target="_blank">unity 3d还是cocos2dx哪个适合游戏?</a> <span class="text-muted">brotherlamp</span> <a class="tag" taget="_blank" href="/search/unity%E8%87%AA%E5%AD%A6/1.htm">unity自学</a><a class="tag" taget="_blank" href="/search/unity%E6%95%99%E7%A8%8B/1.htm">unity教程</a><a class="tag" taget="_blank" href="/search/unity%E8%A7%86%E9%A2%91/1.htm">unity视频</a><a class="tag" taget="_blank" href="/search/unity%E8%B5%84%E6%96%99/1.htm">unity资料</a><a class="tag" taget="_blank" href="/search/unity/1.htm">unity</a> <div>unity 3d还是cocos2dx哪个适合游戏? 问:unity 3d还是cocos2dx哪个适合游戏? 答:首先目前来看unity视频教程因为是3d引擎,目前对2d支持并不完善,unity 3d 目前做2d普遍两种思路,一种是正交相机,3d画面2d视角,另一种是通过一些插件,动态创建mesh来绘制图形单元目前用的较多的是2d toolkit,ex2d,smooth moves,sm2, </div> </li> <li><a href="/article/2054.htm" title="百度笔试题:一个已经排序好的很大的数组,现在给它划分成m段,每段长度不定,段长最长为k,然后段内打乱顺序,请设计一个算法对其进行重新排序" target="_blank">百度笔试题:一个已经排序好的很大的数组,现在给它划分成m段,每段长度不定,段长最长为k,然后段内打乱顺序,请设计一个算法对其进行重新排序</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E7%99%BE%E5%BA%A6/1.htm">百度</a><a class="tag" taget="_blank" href="/search/%E6%8B%9B%E8%81%98/1.htm">招聘</a> <div> import java.util.Arrays; /** * 最早是在陈利人老师的微博看到这道题: * #面试题#An array with n elements which is K most sorted,就是每个element的初始位置和它最终的排序后的位置的距离不超过常数K * 设计一个排序算法。It should be faster than O(n*lgn)。</div> </li> <li><a href="/article/2181.htm" title="获取checkbox复选框的值" target="_blank">获取checkbox复选框的值</a> <span class="text-muted">chiangfai</span> <a class="tag" taget="_blank" href="/search/checkbox/1.htm">checkbox</a> <div><title>CheckBox</title> <script type = "text/javascript"> doGetVal: function doGetVal() { //var fruitName = document.getElementById("apple").value;//根据</div> </li> <li><a href="/article/2308.htm" title="MySQLdb用户指南" target="_blank">MySQLdb用户指南</a> <span class="text-muted">chenchao051</span> <a class="tag" taget="_blank" href="/search/mysqldb/1.htm">mysqldb</a> <div>原网页被墙,放这里备用。 MySQLdb User's Guide Contents Introduction Installation _mysql MySQL C API translation MySQL C API function mapping Some _mysql examples MySQLdb </div> </li> <li><a href="/article/2435.htm" title="HIVE 窗口及分析函数" target="_blank">HIVE 窗口及分析函数</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a><a class="tag" taget="_blank" href="/search/%E7%AA%97%E5%8F%A3%E5%87%BD%E6%95%B0/1.htm">窗口函数</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E6%9E%90%E5%87%BD%E6%95%B0/1.htm">分析函数</a> <div>窗口函数应用场景: (1)用于分区排序 (2)动态Group By (3)Top N (4)累计计算 (5)层次查询 一、分析函数 用于等级、百分点、n分片等。 函数             说明 RANK()     &nbs</div> </li> <li><a href="/article/2562.htm" title="PHP ZipArchive 实现压缩解压Zip文件" target="_blank">PHP ZipArchive 实现压缩解压Zip文件</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/zip/1.htm">zip</a> <div> PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交流。这里整理一下常用的示例供参考。 一、解压缩zip文件 01 02 03 04 05 06 07 08 09 10 11 </div> </li> <li><a href="/article/2689.htm" title="精彩英语贺词" target="_blank">精彩英语贺词</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/%E8%8B%B1%E8%AF%AD/1.htm">英语</a> <div>I'm always here              我会一直在这里支持你                &nb</div> </li> <li><a href="/article/2816.htm" title="基于Java注解的Spring的IoC功能" target="_blank">基于Java注解的Spring的IoC功能</a> <span class="text-muted">e200702084</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/bean/1.htm">bean</a><a class="tag" taget="_blank" href="/search/IOC/1.htm">IOC</a><a class="tag" taget="_blank" href="/search/Office/1.htm">Office</a> <div>                                  </div> </li> <li><a href="/article/2943.htm" title="java模拟post请求" target="_blank">java模拟post请求</a> <span class="text-muted">geeksun</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>一般API接收客户端(比如网页、APP或其他应用服务)的请求,但在测试时需要模拟来自外界的请求,经探索,使用HttpComponentshttpClient可模拟Post提交请求。 此处用HttpComponents的httpclient来完成使命。 import org.apache.http.HttpEntity ; import org.apache.http.HttpRespon</div> </li> <li><a href="/article/3070.htm" title="Swift语法之 ---- ?和!区别" target="_blank">Swift语法之 ---- ?和!区别</a> <span class="text-muted">hongtoushizi</span> <a class="tag" taget="_blank" href="/search/%3F/1.htm">?</a><a class="tag" taget="_blank" href="/search/swift/1.htm">swift</a><a class="tag" taget="_blank" href="/search/%21/1.htm">!</a> <div>转载自: http://blog.sina.com.cn/s/blog_71715bf80102ux3v.html   Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是说变量不会有默认值,所以要求使用变量之前必须要对其初始化。如果在使用变量之前不进行初始化就会报错: var stringValue : String //</div> </li> <li><a href="/article/3197.htm" title="centos7安装jdk1.7" target="_blank">centos7安装jdk1.7</a> <span class="text-muted">jisonami</span> <a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a><a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a> <div>安装JDK1.7 步骤1、解压tar包在当前目录 [root@localhost usr]#tar -xzvf jdk-7u75-linux-x64.tar.gz 步骤2:配置环境变量 在etc/profile文件下添加 export JAVA_HOME=/usr/java/jdk1.7.0_75 export CLASSPATH=/usr/java/jdk1.7.0_75/lib </div> </li> <li><a href="/article/3324.htm" title="数据源架构模式之数据映射器" target="_blank">数据源架构模式之数据映射器</a> <span class="text-muted">home198979</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%98%A0%E5%B0%84%E5%99%A8/1.htm">数据映射器</a><a class="tag" taget="_blank" href="/search/datamapper/1.htm">datamapper</a> <div>前面分别介绍了数据源架构模式之表数据入口、数据源架构模式之行和数据入口数据源架构模式之活动记录,相较于这三种数据源架构模式,数据映射器显得更加“高大上”。   一、概念 数据映射器(Data Mapper):在保持对象和数据库(以及映射器本身)彼此独立的情况下,在二者之间移动数据的一个映射器层。概念永远都是抽象的,简单的说,数据映射器就是一个负责将数据映射到对象的类数据。 &nb</div> </li> <li><a href="/article/3451.htm" title="在Python中使用MYSQL" target="_blank">在Python中使用MYSQL</a> <span class="text-muted">pda158</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>缘由   近期在折腾一个小东西须要抓取网上的页面。然后进行解析。将结果放到 数据库中。   了解到 Python在这方面有优势,便选用之。   由于我有台 server上面安装有 mysql,自然使用之。在进行数据库的这个操作过程中遇到了不少问题,这里 记录一下,大家共勉。    python中mysql的调用    百度之后能够通过MySQLdb进行数据库操作。</div> </li> <li><a href="/article/3578.htm" title="单例模式" target="_blank">单例模式</a> <span class="text-muted">hxl1988_0311</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B/1.htm">单例</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BB%B6/1.htm">单件</a> <div>package com.sosop.designpattern.singleton; /* * 单件模式:保证一个类必须只有一个实例,并提供全局的访问点 * * 所以单例模式必须有私有的构造器,没有私有构造器根本不用谈单件 * * 必须考虑到并发情况下创建了多个实例对象 * */ /** * 虽然有锁,但是只在第一次创建对象的时候加锁,并发时不会存在效率</div> </li> <li><a href="/article/3705.htm" title="27种迹象显示你应该辞掉程序员的工作" target="_blank">27种迹象显示你应该辞掉程序员的工作</a> <span class="text-muted">vipshichg</span> <a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a> <div>1、你仍然在等待老板在2010年答应的要提拔你的暗示。 2、你的上级近10年没有开发过任何代码。 3、老板假装懂你说的这些技术,但实际上他完全不知道你在说什么。 4、你干完的项目6个月后才部署到现场服务器上。 5、时不时的,老板在检查你刚刚完成的工作时,要求按新想法重新开发。 6、而最终这个软件只有12个用户。 7、时间全浪费在办公室政治中,而不是用在开发好的软件上。 8、部署前5分钟才开始测试。</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>