From 39ec2b8e818a50366c9dcc8c4b663ee03782a438 Mon Sep 17 00:00:00 2001 From: xiaoyucoding Date: Mon, 25 Feb 2019 14:33:44 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E4=BD=8E=E7=89=88?= =?UTF-8?q?=E6=9C=AC=20safari=20=E6=B5=8F=E8=A7=88=E5=99=A8=E4=B8=AD=20cho?= =?UTF-8?q?oseImage/chooseVideo=20=E6=96=B9=E6=B3=95=E6=97=A0=E6=95=88?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/platforms/h5/service/api/media/choose-image.js | 10 +++++++++- src/platforms/h5/service/api/media/choose-video.js | 10 +++++++++- src/shared/util.js | 6 ++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/platforms/h5/service/api/media/choose-image.js b/src/platforms/h5/service/api/media/choose-image.js index 0e7318d9..d9c4a673 100644 --- a/src/platforms/h5/service/api/media/choose-image.js +++ b/src/platforms/h5/service/api/media/choose-image.js @@ -1,4 +1,5 @@ import { fileToUrl } from 'uni-platform/helpers/file' +import { updateElementStyle } from 'uni-shared' const { invokeCallbackHandler: invoke @@ -9,7 +10,14 @@ let imageInput = null const _createInput = function (options) { let inputEl = document.createElement('input') inputEl.type = 'file' - inputEl.style = 'position: absolute;visibility: hidden;z-index: -999;width: 0;height: 0;' + updateElementStyle(inputEl, { + 'position': 'absolute', + 'visibility': 'hidden', + 'z-index': -999, + 'width': 0, + 'height': 0 + }) + // inputEl.style = 'position: absolute;visibility: hidden;z-index: -999;width: 0;height: 0;' inputEl.accept = 'image/*' if (options.count > 1) { inputEl.multiple = 'multiple' diff --git a/src/platforms/h5/service/api/media/choose-video.js b/src/platforms/h5/service/api/media/choose-video.js index cf4bcf53..92b8836a 100644 --- a/src/platforms/h5/service/api/media/choose-video.js +++ b/src/platforms/h5/service/api/media/choose-video.js @@ -1,4 +1,5 @@ import { fileToUrl } from 'uni-platform/helpers/file' +import { updateElementStyle } from 'uni-shared' const { invokeCallbackHandler: invoke @@ -9,7 +10,14 @@ let videoInput = null const _createInput = function (options) { let inputEl = document.createElement('input') inputEl.type = 'file' - inputEl.style = 'position: absolute;visibility: hidden;z-index: -999;width: 0;height: 0;' + updateElementStyle(inputEl, { + 'position': 'absolute', + 'visibility': 'hidden', + 'z-index': -999, + 'width': 0, + 'height': 0 + }) + // inputEl.style = 'position: absolute;visibility: hidden;z-index: -999;width: 0;height: 0;' inputEl.accept = 'video/*' // 经过测试,仅能限制只通过相机拍摄,不能限制只允许从相册选择。 if (options.sourceType.length === 1 && options.sourceType[0] === 'camera') { diff --git a/src/shared/util.js b/src/shared/util.js index 30228880..78f25f81 100644 --- a/src/shared/util.js +++ b/src/shared/util.js @@ -50,3 +50,9 @@ export function formatDateTime ({ return date.getFullYear() + '-' + _completeValue(date.getMonth() + 1) + '-' + _completeValue(date.getDate()) } } + +export function updateElementStyle (element, styles) { + for (let attrName in styles) { + element.style[attrName] = styles[attrName] + } +} -- GitLab