eoss-ui 0.7.90 → 0.7.92
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/button-group.js +61 -0
- package/lib/button.js +63 -2
- package/lib/calogin.js +61 -0
- package/lib/checkbox-group.js +61 -0
- package/lib/data-table-form.js +61 -0
- package/lib/data-table.js +74 -8
- package/lib/date-picker.js +61 -0
- package/lib/dialog.js +67 -5
- package/lib/eoss-ui.common.js +888 -758
- package/lib/flow-group.js +99 -15
- package/lib/flow-list.js +157 -96
- package/lib/flow.js +223 -162
- package/lib/form.js +61 -0
- package/lib/handle-user.js +64 -3
- package/lib/handler.js +71 -10
- package/lib/icon.js +61 -0
- package/lib/index.js +1 -1
- package/lib/input-number.js +61 -0
- package/lib/input.js +61 -0
- package/lib/login.js +68 -6
- package/lib/main.js +475 -391
- package/lib/nav.js +61 -0
- package/lib/page.js +61 -0
- package/lib/pagination.js +64 -3
- package/lib/player.js +61 -0
- package/lib/qr-code.js +61 -0
- package/lib/radio-group.js +61 -0
- package/lib/retrial-auth.js +83 -6
- package/lib/select-ganged.js +61 -0
- package/lib/select.js +61 -0
- package/lib/selector-panel.js +61 -0
- package/lib/selector.js +61 -0
- package/lib/sizer.js +61 -0
- package/lib/steps.js +61 -0
- package/lib/switch.js +61 -0
- package/lib/table-form.js +61 -0
- package/lib/tabs.js +61 -0
- package/lib/theme-chalk/index.css +1 -1
- package/lib/theme-chalk/login.css +1 -1
- package/lib/tips.js +61 -0
- package/lib/tree-group.js +64 -3
- package/lib/tree.js +61 -0
- package/lib/upload.js +61 -0
- package/lib/utils/util.js +61 -0
- package/lib/wujie.js +61 -0
- package/lib/wxlogin.js +61 -0
- package/package.json +1 -1
- package/packages/.DS_Store +0 -0
- package/packages/button/src/main.vue +2 -2
- package/packages/button-group/src/main.vue +346 -346
- package/packages/calogin/.DS_Store +0 -0
- package/packages/calogin/src/main.vue +412 -412
- package/packages/clients/src/main.vue +151 -151
- package/packages/data-table/src/main.vue +8 -3
- package/packages/date-picker/.DS_Store +0 -0
- package/packages/date-picker/src/.DS_Store +0 -0
- package/packages/dialog/.DS_Store +0 -0
- package/packages/dialog/src/main.vue +4 -3
- package/packages/flow/.DS_Store +0 -0
- package/packages/flow/src/.DS_Store +0 -0
- package/packages/flow/src/component/Circulate.vue +417 -417
- package/packages/flow/src/component/CommonOpinions.vue +376 -376
- package/packages/flow/src/component/CustomPreset.vue +324 -324
- package/packages/flow/src/component/FileList.vue +97 -97
- package/packages/flow/src/component/FreeCirculation.vue +244 -244
- package/packages/flow/src/component/Preset.vue +257 -257
- package/packages/flow/src/component/SendMsg.vue +242 -242
- package/packages/flow/src/component/SortFlow.vue +110 -110
- package/packages/flow/src/component/taskUnionExamine.vue +761 -761
- package/packages/flow/src/form.vue +123 -123
- package/packages/flow/src/freeStartFlow.vue +2855 -2855
- package/packages/flow/src/processForm.vue +1680 -1680
- package/packages/flow/src/processReject.vue +309 -309
- package/packages/flow/src/reset.vue +946 -946
- package/packages/flow/src/startTaskRead.vue +695 -695
- package/packages/flow/src/supervise.vue +159 -159
- package/packages/flow/src/table.vue +58 -58
- package/packages/flow-group/src/main.vue +750 -727
- package/packages/flow-list/.DS_Store +0 -0
- package/packages/flow-list/src/main.vue +2337 -2337
- package/packages/form/.DS_Store +0 -0
- package/packages/form/src/main.vue +3901 -3901
- package/packages/form/src/table.vue +1512 -1512
- package/packages/handle-user/src/main.vue +137 -137
- package/packages/handler/src/main.vue +10 -8
- package/packages/icon/.DS_Store +0 -0
- package/packages/icon/src/main.vue +104 -104
- package/packages/login/.DS_Store +0 -0
- package/packages/login/src/main.vue +2088 -2087
- package/packages/login/src/resetPassword.vue +557 -557
- package/packages/main/.DS_Store +0 -0
- package/packages/main/src/.DS_Store +0 -0
- package/packages/main/src/default/userinfo.vue +513 -503
- package/packages/main/src/main.vue +13 -19
- package/packages/main/src/public/online.vue +89 -89
- package/packages/main/src/public/search.vue +464 -464
- package/packages/main/src/public/settings.vue +273 -273
- package/packages/main/src/simplicity/apps.vue +388 -388
- package/packages/main/src/simplicity/avatar.vue +82 -82
- package/packages/main/src/simplicity/handler.vue +158 -158
- package/packages/main/src/simplicity/index.vue +2335 -2328
- package/packages/main/src/simplicity/menu-list.vue +135 -135
- package/packages/main/src/simplicity/message.vue +293 -293
- package/packages/main/src/simplicity/notice.vue +222 -222
- package/packages/main/src/simplicity/sub-menu.vue +276 -276
- package/packages/main/src/simplicity/user.vue +259 -259
- package/packages/main/src/simplicity/userinfo.vue +408 -401
- package/packages/main/src/simplicityTop/apps.vue +388 -388
- package/packages/main/src/simplicityTop/avatar.vue +82 -82
- package/packages/main/src/simplicityTop/handler.vue +215 -215
- package/packages/main/src/simplicityTop/index.vue +2620 -2618
- package/packages/main/src/simplicityTop/lists.vue +84 -84
- package/packages/main/src/simplicityTop/menu-list.vue +135 -135
- package/packages/main/src/simplicityTop/message.vue +293 -293
- package/packages/main/src/simplicityTop/notice.vue +222 -222
- package/packages/main/src/simplicityTop/router-page.vue +45 -45
- package/packages/main/src/simplicityTop/sub-menu.vue +274 -274
- package/packages/main/src/simplicityTop/user.vue +259 -259
- package/packages/main/src/simplicityTop/userinfo.vue +408 -401
- package/packages/menu/.DS_Store +0 -0
- package/packages/menu/src/main.vue +595 -595
- package/packages/nav/src/main.vue +351 -351
- package/packages/pagination/src/main.vue +4 -4
- package/packages/retrial-auth/src/main.vue +23 -4
- package/packages/select/.DS_Store +0 -0
- package/packages/selector/.DS_Store +0 -0
- package/packages/selector/src/main.vue +761 -761
- package/packages/selector-panel/.DS_Store +0 -0
- package/packages/selector-panel/src/main.vue +1036 -1036
- package/packages/selector-panel/src/selection.vue +174 -174
- package/packages/switch/src/main.vue +170 -170
- package/packages/theme-chalk/lib/index.css +1 -1
- package/packages/theme-chalk/lib/login.css +1 -1
- package/packages/theme-chalk/src/.DS_Store +0 -0
- package/packages/theme-chalk/src/data-table.scss +297 -297
- package/packages/theme-chalk/src/flow-list.scss +55 -55
- package/packages/theme-chalk/src/flow.scss +373 -373
- package/packages/theme-chalk/src/form.scss +501 -501
- package/packages/theme-chalk/src/handler.scss +148 -148
- package/packages/theme-chalk/src/icon.scss +3452 -3452
- package/packages/theme-chalk/src/login.scss +1006 -1006
- package/packages/theme-chalk/src/main.scss +664 -664
- package/packages/theme-chalk/src/menu.scss +224 -224
- package/packages/theme-chalk/src/selector.scss +114 -114
- package/packages/theme-chalk/src/simplicity-top.scss +1845 -1845
- package/packages/theme-chalk/src/simplicity.scss +1403 -1403
- package/packages/theme-chalk/src/tree.scss +165 -165
- package/packages/theme-chalk/src/upload.scss +172 -172
- package/packages/tips/src/main.vue +141 -141
- package/packages/toolbar/src/main.vue +430 -430
- package/packages/tree-group/src/main.vue +1 -1
- package/packages/upload/.DS_Store +0 -0
- package/packages/upload/src/main.vue +1344 -1344
- package/packages/wujie/src/main.vue +146 -146
- package/src/.DS_Store +0 -0
- package/src/config/api.js +348 -348
- package/src/index.js +163 -163
- package/src/utils/.DS_Store +0 -0
- package/src/utils/rules.js +18 -18
- package/src/utils/util.js +61 -0
package/lib/handle-user.js
CHANGED
|
@@ -2129,6 +2129,65 @@ var getWeekday = function getWeekday(date) {
|
|
|
2129
2129
|
// Adjust for JavaScript's day numbering (0 is Sunday, 1 is Monday, etc.)
|
|
2130
2130
|
return adjustedDay === 0 ? 7 : adjustedDay;
|
|
2131
2131
|
};
|
|
2132
|
+
/**
|
|
2133
|
+
* getWinTop
|
|
2134
|
+
* @desc 获取同域的top窗口
|
|
2135
|
+
* @param {object} [wind] - window对象
|
|
2136
|
+
* @return {Window} 同域的top窗口
|
|
2137
|
+
**/
|
|
2138
|
+
var getWinTop = function getWinTop(wind) {
|
|
2139
|
+
wind = wind ? wind : window.__WUJIE_RAW_WINDOW__ ? window.__WUJIE_RAW_WINDOW__ : window;
|
|
2140
|
+
try {
|
|
2141
|
+
// 检查是否已经是顶层窗口,避免无限递归
|
|
2142
|
+
if (wind === wind.parent) {
|
|
2143
|
+
return wind;
|
|
2144
|
+
}
|
|
2145
|
+
wind.parent.document;
|
|
2146
|
+
return getWinTop(wind.parent);
|
|
2147
|
+
} catch (error) {
|
|
2148
|
+
return wind;
|
|
2149
|
+
}
|
|
2150
|
+
};
|
|
2151
|
+
|
|
2152
|
+
/**
|
|
2153
|
+
* getWinTopProperty
|
|
2154
|
+
* @desc 安全获取顶层窗口的属性,避免跨域访问错误
|
|
2155
|
+
* @param {string} propertyName - 要获取的属性名
|
|
2156
|
+
* @param {any} defaultValue - 默认值,当属性获取失败时返回
|
|
2157
|
+
* @return {any} 属性值或默认值
|
|
2158
|
+
**/
|
|
2159
|
+
var getWinTopProperty = function getWinTopProperty(propertyName, defaultValue) {
|
|
2160
|
+
// 1. 先尝试获取 window.top 的属性
|
|
2161
|
+
try {
|
|
2162
|
+
if (window.top && window.top[propertyName] !== undefined) {
|
|
2163
|
+
return window.top[propertyName];
|
|
2164
|
+
}
|
|
2165
|
+
} catch (topError) {}
|
|
2166
|
+
// window.top 跨域,继续尝试
|
|
2167
|
+
|
|
2168
|
+
|
|
2169
|
+
// 2. 尝试获取同源的最上层窗口的属性
|
|
2170
|
+
try {
|
|
2171
|
+
var sameOriginTop = getWinTop();
|
|
2172
|
+
if (sameOriginTop && sameOriginTop[propertyName] !== undefined) {
|
|
2173
|
+
return sameOriginTop[propertyName];
|
|
2174
|
+
}
|
|
2175
|
+
} catch (sameOriginError) {}
|
|
2176
|
+
// 同源最上层窗口获取失败,继续尝试
|
|
2177
|
+
|
|
2178
|
+
|
|
2179
|
+
// 3. 尝试获取当前窗口的属性
|
|
2180
|
+
try {
|
|
2181
|
+
if (window[propertyName] !== undefined) {
|
|
2182
|
+
return window[propertyName];
|
|
2183
|
+
}
|
|
2184
|
+
} catch (currentWinError) {}
|
|
2185
|
+
// 当前窗口获取失败,返回默认值
|
|
2186
|
+
|
|
2187
|
+
|
|
2188
|
+
// 4. 所有尝试都失败,返回默认值
|
|
2189
|
+
return defaultValue;
|
|
2190
|
+
};
|
|
2132
2191
|
|
|
2133
2192
|
/**
|
|
2134
2193
|
* getZoom
|
|
@@ -3874,6 +3933,8 @@ var winTopOpen = function winTopOpen(config) {
|
|
|
3874
3933
|
getTypeName: getTypeName,
|
|
3875
3934
|
getValues: getValues,
|
|
3876
3935
|
getWeekday: getWeekday,
|
|
3936
|
+
getWinTop: getWinTop,
|
|
3937
|
+
getWinTopProperty: getWinTopProperty,
|
|
3877
3938
|
handlerUrl: handlerUrl,
|
|
3878
3939
|
hasChars: hasChars,
|
|
3879
3940
|
hasClass: hasClass,
|
|
@@ -4579,7 +4640,7 @@ module.exports = require("qs");
|
|
|
4579
4640
|
// ESM COMPAT FLAG
|
|
4580
4641
|
__webpack_require__.r(__webpack_exports__);
|
|
4581
4642
|
|
|
4582
|
-
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/handle-user/src/main.vue?vue&type=template&id=
|
|
4643
|
+
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/handle-user/src/main.vue?vue&type=template&id=471ac115&
|
|
4583
4644
|
var render = function () {
|
|
4584
4645
|
var _vm = this
|
|
4585
4646
|
var _h = _vm.$createElement
|
|
@@ -4676,7 +4737,7 @@ var staticRenderFns = []
|
|
|
4676
4737
|
render._withStripped = true
|
|
4677
4738
|
|
|
4678
4739
|
|
|
4679
|
-
// CONCATENATED MODULE: ./packages/handle-user/src/main.vue?vue&type=template&id=
|
|
4740
|
+
// CONCATENATED MODULE: ./packages/handle-user/src/main.vue?vue&type=template&id=471ac115&
|
|
4680
4741
|
|
|
4681
4742
|
// EXTERNAL MODULE: ./src/config/api.js
|
|
4682
4743
|
var api = __webpack_require__(1);
|
|
@@ -4799,7 +4860,7 @@ var util = __webpack_require__(0);
|
|
|
4799
4860
|
duration: 500,
|
|
4800
4861
|
onClose: function onClose() {
|
|
4801
4862
|
util["a" /* default */].removeStorage(['mainConfig', 'jump']);
|
|
4802
|
-
var win = util["a" /* default */].
|
|
4863
|
+
var win = util["a" /* default */].getWinTop();
|
|
4803
4864
|
win.location.reload();
|
|
4804
4865
|
}
|
|
4805
4866
|
});
|
package/lib/handler.js
CHANGED
|
@@ -2129,6 +2129,65 @@ var getWeekday = function getWeekday(date) {
|
|
|
2129
2129
|
// Adjust for JavaScript's day numbering (0 is Sunday, 1 is Monday, etc.)
|
|
2130
2130
|
return adjustedDay === 0 ? 7 : adjustedDay;
|
|
2131
2131
|
};
|
|
2132
|
+
/**
|
|
2133
|
+
* getWinTop
|
|
2134
|
+
* @desc 获取同域的top窗口
|
|
2135
|
+
* @param {object} [wind] - window对象
|
|
2136
|
+
* @return {Window} 同域的top窗口
|
|
2137
|
+
**/
|
|
2138
|
+
var getWinTop = function getWinTop(wind) {
|
|
2139
|
+
wind = wind ? wind : window.__WUJIE_RAW_WINDOW__ ? window.__WUJIE_RAW_WINDOW__ : window;
|
|
2140
|
+
try {
|
|
2141
|
+
// 检查是否已经是顶层窗口,避免无限递归
|
|
2142
|
+
if (wind === wind.parent) {
|
|
2143
|
+
return wind;
|
|
2144
|
+
}
|
|
2145
|
+
wind.parent.document;
|
|
2146
|
+
return getWinTop(wind.parent);
|
|
2147
|
+
} catch (error) {
|
|
2148
|
+
return wind;
|
|
2149
|
+
}
|
|
2150
|
+
};
|
|
2151
|
+
|
|
2152
|
+
/**
|
|
2153
|
+
* getWinTopProperty
|
|
2154
|
+
* @desc 安全获取顶层窗口的属性,避免跨域访问错误
|
|
2155
|
+
* @param {string} propertyName - 要获取的属性名
|
|
2156
|
+
* @param {any} defaultValue - 默认值,当属性获取失败时返回
|
|
2157
|
+
* @return {any} 属性值或默认值
|
|
2158
|
+
**/
|
|
2159
|
+
var getWinTopProperty = function getWinTopProperty(propertyName, defaultValue) {
|
|
2160
|
+
// 1. 先尝试获取 window.top 的属性
|
|
2161
|
+
try {
|
|
2162
|
+
if (window.top && window.top[propertyName] !== undefined) {
|
|
2163
|
+
return window.top[propertyName];
|
|
2164
|
+
}
|
|
2165
|
+
} catch (topError) {}
|
|
2166
|
+
// window.top 跨域,继续尝试
|
|
2167
|
+
|
|
2168
|
+
|
|
2169
|
+
// 2. 尝试获取同源的最上层窗口的属性
|
|
2170
|
+
try {
|
|
2171
|
+
var sameOriginTop = getWinTop();
|
|
2172
|
+
if (sameOriginTop && sameOriginTop[propertyName] !== undefined) {
|
|
2173
|
+
return sameOriginTop[propertyName];
|
|
2174
|
+
}
|
|
2175
|
+
} catch (sameOriginError) {}
|
|
2176
|
+
// 同源最上层窗口获取失败,继续尝试
|
|
2177
|
+
|
|
2178
|
+
|
|
2179
|
+
// 3. 尝试获取当前窗口的属性
|
|
2180
|
+
try {
|
|
2181
|
+
if (window[propertyName] !== undefined) {
|
|
2182
|
+
return window[propertyName];
|
|
2183
|
+
}
|
|
2184
|
+
} catch (currentWinError) {}
|
|
2185
|
+
// 当前窗口获取失败,返回默认值
|
|
2186
|
+
|
|
2187
|
+
|
|
2188
|
+
// 4. 所有尝试都失败,返回默认值
|
|
2189
|
+
return defaultValue;
|
|
2190
|
+
};
|
|
2132
2191
|
|
|
2133
2192
|
/**
|
|
2134
2193
|
* getZoom
|
|
@@ -3874,6 +3933,8 @@ var winTopOpen = function winTopOpen(config) {
|
|
|
3874
3933
|
getTypeName: getTypeName,
|
|
3875
3934
|
getValues: getValues,
|
|
3876
3935
|
getWeekday: getWeekday,
|
|
3936
|
+
getWinTop: getWinTop,
|
|
3937
|
+
getWinTopProperty: getWinTopProperty,
|
|
3877
3938
|
handlerUrl: handlerUrl,
|
|
3878
3939
|
hasChars: hasChars,
|
|
3879
3940
|
hasClass: hasClass,
|
|
@@ -4551,7 +4612,7 @@ module.exports = require("qs");
|
|
|
4551
4612
|
// ESM COMPAT FLAG
|
|
4552
4613
|
__webpack_require__.r(__webpack_exports__);
|
|
4553
4614
|
|
|
4554
|
-
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/handler/src/main.vue?vue&type=template&id=
|
|
4615
|
+
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/handler/src/main.vue?vue&type=template&id=7a67c26e&
|
|
4555
4616
|
var render = function () {
|
|
4556
4617
|
var _vm = this
|
|
4557
4618
|
var _h = _vm.$createElement
|
|
@@ -4809,7 +4870,7 @@ var staticRenderFns = []
|
|
|
4809
4870
|
render._withStripped = true
|
|
4810
4871
|
|
|
4811
4872
|
|
|
4812
|
-
// CONCATENATED MODULE: ./packages/handler/src/main.vue?vue&type=template&id=
|
|
4873
|
+
// CONCATENATED MODULE: ./packages/handler/src/main.vue?vue&type=template&id=7a67c26e&
|
|
4813
4874
|
|
|
4814
4875
|
// EXTERNAL MODULE: ./src/config/api.js
|
|
4815
4876
|
var api = __webpack_require__(1);
|
|
@@ -5224,7 +5285,7 @@ var _props;
|
|
|
5224
5285
|
if (loginPage) {
|
|
5225
5286
|
var _src = void 0;
|
|
5226
5287
|
if (!util["a" /* default */].startWith(loginPage, ['http', '/'], true)) {
|
|
5227
|
-
var pathname = util["a" /* default */].
|
|
5288
|
+
var pathname = util["a" /* default */].getWinTop().location.pathname;
|
|
5228
5289
|
if (pathname !== '/') {
|
|
5229
5290
|
pathname = pathname.split('/');
|
|
5230
5291
|
pathname.splice(pathname.length - 1);
|
|
@@ -5236,16 +5297,16 @@ var _props;
|
|
|
5236
5297
|
} else {
|
|
5237
5298
|
_src = loginPage;
|
|
5238
5299
|
}
|
|
5239
|
-
util["a" /* default */].
|
|
5240
|
-
} else if (util["a" /* default */].
|
|
5241
|
-
util["a" /* default */].
|
|
5300
|
+
util["a" /* default */].getWinTop().location.href = _src;
|
|
5301
|
+
} else if (util["a" /* default */].getWinTop().location.href.indexOf('main.html') > -1) {
|
|
5302
|
+
util["a" /* default */].getWinTop().location.href = './login.html';
|
|
5242
5303
|
} else {
|
|
5243
|
-
var hash = util["a" /* default */].
|
|
5304
|
+
var hash = util["a" /* default */].getWinTop().location.hash;
|
|
5244
5305
|
if (hash) {
|
|
5245
|
-
var len = util["a" /* default */].
|
|
5246
|
-
util["a" /* default */].
|
|
5306
|
+
var len = util["a" /* default */].getWinTop().location.href.indexOf(hash);
|
|
5307
|
+
util["a" /* default */].getWinTop().location.href = util["a" /* default */].win.location.href.slice(0, len) + '#/login';
|
|
5247
5308
|
} else {
|
|
5248
|
-
util["a" /* default */].
|
|
5309
|
+
util["a" /* default */].getWinTop().location.href = '/login.html';
|
|
5249
5310
|
}
|
|
5250
5311
|
}
|
|
5251
5312
|
} catch (error) {}
|
package/lib/icon.js
CHANGED
|
@@ -2129,6 +2129,65 @@ var getWeekday = function getWeekday(date) {
|
|
|
2129
2129
|
// Adjust for JavaScript's day numbering (0 is Sunday, 1 is Monday, etc.)
|
|
2130
2130
|
return adjustedDay === 0 ? 7 : adjustedDay;
|
|
2131
2131
|
};
|
|
2132
|
+
/**
|
|
2133
|
+
* getWinTop
|
|
2134
|
+
* @desc 获取同域的top窗口
|
|
2135
|
+
* @param {object} [wind] - window对象
|
|
2136
|
+
* @return {Window} 同域的top窗口
|
|
2137
|
+
**/
|
|
2138
|
+
var getWinTop = function getWinTop(wind) {
|
|
2139
|
+
wind = wind ? wind : window.__WUJIE_RAW_WINDOW__ ? window.__WUJIE_RAW_WINDOW__ : window;
|
|
2140
|
+
try {
|
|
2141
|
+
// 检查是否已经是顶层窗口,避免无限递归
|
|
2142
|
+
if (wind === wind.parent) {
|
|
2143
|
+
return wind;
|
|
2144
|
+
}
|
|
2145
|
+
wind.parent.document;
|
|
2146
|
+
return getWinTop(wind.parent);
|
|
2147
|
+
} catch (error) {
|
|
2148
|
+
return wind;
|
|
2149
|
+
}
|
|
2150
|
+
};
|
|
2151
|
+
|
|
2152
|
+
/**
|
|
2153
|
+
* getWinTopProperty
|
|
2154
|
+
* @desc 安全获取顶层窗口的属性,避免跨域访问错误
|
|
2155
|
+
* @param {string} propertyName - 要获取的属性名
|
|
2156
|
+
* @param {any} defaultValue - 默认值,当属性获取失败时返回
|
|
2157
|
+
* @return {any} 属性值或默认值
|
|
2158
|
+
**/
|
|
2159
|
+
var getWinTopProperty = function getWinTopProperty(propertyName, defaultValue) {
|
|
2160
|
+
// 1. 先尝试获取 window.top 的属性
|
|
2161
|
+
try {
|
|
2162
|
+
if (window.top && window.top[propertyName] !== undefined) {
|
|
2163
|
+
return window.top[propertyName];
|
|
2164
|
+
}
|
|
2165
|
+
} catch (topError) {}
|
|
2166
|
+
// window.top 跨域,继续尝试
|
|
2167
|
+
|
|
2168
|
+
|
|
2169
|
+
// 2. 尝试获取同源的最上层窗口的属性
|
|
2170
|
+
try {
|
|
2171
|
+
var sameOriginTop = getWinTop();
|
|
2172
|
+
if (sameOriginTop && sameOriginTop[propertyName] !== undefined) {
|
|
2173
|
+
return sameOriginTop[propertyName];
|
|
2174
|
+
}
|
|
2175
|
+
} catch (sameOriginError) {}
|
|
2176
|
+
// 同源最上层窗口获取失败,继续尝试
|
|
2177
|
+
|
|
2178
|
+
|
|
2179
|
+
// 3. 尝试获取当前窗口的属性
|
|
2180
|
+
try {
|
|
2181
|
+
if (window[propertyName] !== undefined) {
|
|
2182
|
+
return window[propertyName];
|
|
2183
|
+
}
|
|
2184
|
+
} catch (currentWinError) {}
|
|
2185
|
+
// 当前窗口获取失败,返回默认值
|
|
2186
|
+
|
|
2187
|
+
|
|
2188
|
+
// 4. 所有尝试都失败,返回默认值
|
|
2189
|
+
return defaultValue;
|
|
2190
|
+
};
|
|
2132
2191
|
|
|
2133
2192
|
/**
|
|
2134
2193
|
* getZoom
|
|
@@ -3874,6 +3933,8 @@ var winTopOpen = function winTopOpen(config) {
|
|
|
3874
3933
|
getTypeName: getTypeName,
|
|
3875
3934
|
getValues: getValues,
|
|
3876
3935
|
getWeekday: getWeekday,
|
|
3936
|
+
getWinTop: getWinTop,
|
|
3937
|
+
getWinTopProperty: getWinTopProperty,
|
|
3877
3938
|
handlerUrl: handlerUrl,
|
|
3878
3939
|
hasChars: hasChars,
|
|
3879
3940
|
hasClass: hasClass,
|