九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
SAP UI5 FileUploader 的隱藏 iframe 設(shè)計明細(xì)
userphoto

2022.07.30 四川

關(guān)注

其實現(xiàn)代碼位置如下:

/**     * Helper to retrieve the I18N texts for a button     * @private     */
    FileUploader.prototype.getBrowseText = function() {

        // as the text is the same for all FileUploaders, get it only once        if (!FileUploader.prototype._sBrowseText) {
            var rb = sap.ui.getCore().getLibraryResourceBundle("sap.ui.unified");
            FileUploader.prototype._sBrowseText = rb.getText("FILEUPLOAD_BROWSE");
        }

        return FileUploader.prototype._sBrowseText ? FileUploader.prototype._sBrowseText : "Browse...";

    };

從上圖可以看出,SAP UI5 框架從一個 library 文件里,根據(jù) key FILEUPLOAD_BROWSE 讀取其對應(yīng)值,結(jié)果為 Browse... 這個字符串。

上圖 1854 行的三元表達(dá)式,代表的邏輯是,如果從 library 文件里根據(jù) key FILEUPLOAD_BROWSE 讀取失敗,則返回硬編碼的默認(rèn)值 Browse...

SAP UI5 FileUploader 控件所屬的 sap.ui.unified 整個庫的資源文件位置:https://sapui5.hana.ondemand.com/resources/sap/ui/unified/messagebundle_en_US.properties

關(guān)于 SAP UI5 全球化,多語言和翻譯的支持,請參閱 Jerry 的教程:SAP UI5 應(yīng)用開發(fā)教程之八 - 多語言的支持

在 FileUploader 的 onAfterRendering 鉤子里,執(zhí)行 prepareFileUploadAndIFrame

首先為 file upload 做準(zhǔn)備:

不要把這個 this.oFileUpload 同之前的 this.oFilePath 相混淆。

這個 aFileUpload 是存儲最后渲染出原生 HTML 源代碼的場所。

最后生成的源代碼:

'<input ', 'type="file" ', 'aria-hidden="true" ', 'name="myFileUpload" ', 'id="__xmlview0--fileUploader-fu" ', 'tabindex="-1" ', 'size="1" ', 'title="Upload&#x20;your&#x20;file&#x20;to&#x20;the&#x20;local&#x20;server" ', '>'this.oFileUpload = jQuery(aFileUpload.join("")).prependTo(this.$().find(".sapUiFupInputMask")).get(0);

上面代碼通過 jQuery 代碼查找的 css 類:sapUiFupInputMask,在 elements 面板里位置如下:

最后 this.oFileUpload 指向 jQuery 通過 css 選擇器返回的 dom 實例:

也就是這個 input 字段:

<input type="file" aria-hidden="true" name="myFileUpload" id="__xmlview0--fileUploader-fu" tabindex="-1" size="1" title="Upload your file to the local server">

創(chuàng)建隱藏的 iframe,并且插入到 static area 里:

給這個隱藏的 iframe 注冊 load 事件:

點擊 Browse... 按鈕之后,會彈出選擇本地文件的對話框:

然后觸發(fā) handlechange,使用 var uploadForm = this.getDomRef("fu_form"); 拿到 form 實例:

通過事件對象的 target.files 字段,拿到用戶選擇好的本地文件。

拋出一個 change 事件:

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
JQuery UI dialog清除緩存問題
一直尋求一套最好的OOL Object-Oriented-Layer
jQuery UI Widget(1.8.1)工作原理
幾種流行的AJAX框架jQuery,Mootools,Dojo,Ext JS的對比
15 個 JavaScript Web UI 庫 - CSDN資訊
常用ajax框架及作用和官方網(wǎng)址
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服