sciter 文件路径操作过滤其他只剩html选择其他文件

自定义文件名输入组件
本文介绍了一种自定义的文件名输入组件实现方法,通过HTML、CSS和TIScript结合,创建了一个带有文件选择按钮的输入框,支持特定文件类型的筛选。组件能够响应文件选择事件并更新显示路径。

<html>
  <head>
    <title>file name input</title>
    <style>
    
    widget[type=file-name] {
      prototype: FileName;
      flow:horizontal;
      width:20em;
    }
    widget[type=file-name] > input { width:*; }
    
    </style>
    <script type="text/tiscript">
    
    class FileName : Behavior {
      function attached() {
        this.$append( <input|text.path><button.selector>&#x2026;</button>);
        
        var path = this.path = this.$(.path);
        
        this.$(button.selector) << event click() {
          const filter = "HTML Files (*.htm,*.html)|*.htm;*.html|All Files (*.*)|*.*";
          var fn = view.selectFile(#open,filter);
          if( fn ) path.value = fn;
          (this super).postEvent(Event.EDIT_VALUE_CHANGED);
        };
      }
      
      property value(v) {
        get { return this.path.value; }
        set { this.path.value = v; }
      }
    }
    
    $(widget).onValueChanged = function() {
      stdout.println(this.value);
    };

    </script>
  </head>
<body>
  File name:
 
  <widget|file-name name=test />

</body>
</html>

new: [script] await/yield syntax compatibility with JS: await is allowed to be in async function() only, see: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function yield is allowed to be in function*() only, see: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/function* Existing code that uses await/yield shall work as it is but with compile time warnings. [osx] IME support (Far East languages input method in particular). [win] support of mouse devices with MOUSE WHEEL deltas < 120. [config.h] #define HTTP_SUPPORT – enables/disables internal HTTP client. Without it no external resources are loaded and http client is excluded from compilation completely. + [html5] element support. + [gtk] notes project. + [gtk] HTML clipboard support. behavior:frame saveDocument() method implementation. [API] DOCUMENT_PARSED event. Generated after parsing but before DOCUMENT_READY. Element.popup() update to support "auto flip" modes. New samples: + sdk/samples/ideas/effects/particles sample. See: https://sciter.com/forums/topic/particles-js/ + sdk/samples/games/flappy-bird by Ramon the Great. See: https://sciter.com/forums/topic/flappy-bird/ + sdk/samples/ideas/notifications/demo.htm – in window notifications. [script] bytes1 == bytes2, comparison of two byte vectors works in the same way as string1 == string2 – content equality. [behavior:video] support of video.style.foregroundImage to access current frame. [css and window-blurbehind attribute ] : @media blur-behind {} @media !blur-behind {} @media blur-behind="ultra-dark" {} @media blur-behind="dark" {} @media blur-behind="light" {} @media blur-behind="ultra-light" {} fixes: [DOM,script] element.clone() to preserve :synthetic state flag in cloned elements. [win,printing] fix of printing on printers with device name larger than 31 characters. Thanks to Miloš Opálek [css] :nth-child(an+b) selector fix. [pager] documentation update at sdk/samples/pr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值