fix: Disable sizeDetector in iframe

This commit is contained in:
tackchen 2021-11-17 12:06:05 +08:00
parent ef686997b1
commit 3af4f21cf4
9 changed files with 30 additions and 11 deletions

View File

@ -64,4 +64,7 @@
## 0.1.8 ## 0.1.8
1. Disable macos option+commond+i 1. Disable macos option+commond+i
2. Delete some debugging code and useless code 2. Delete some debugging code and useless code
3. Modify the event model 3. Modify the event model
## 0.1.9
1. Fix the bug of accidental injury in IFrame

View File

@ -64,4 +64,7 @@
## 0.1.8 ## 0.1.8
1. 禁用 macos option+commond+i 1. 禁用 macos option+commond+i
2. 删除部分调试代码与无用代码 2. 删除部分调试代码与无用代码
3. 修改事件模型 3. 修改事件模型
## 0.1.9
1. 修复IFrame中误伤的bug

View File

@ -184,7 +184,7 @@ declare type DETECTOR_TYPE = -1 | 0 | 1 | 2 | 3;</code></p>
<script <script
disable-devtool-auto disable-devtool-auto
md5='1aabac6d068eef6a7bad3fdf50a05cc8' md5='1aabac6d068eef6a7bad3fdf50a05cc8'
src='https://cdn.jsdelivr.net/npm/disable-devtool@0.1.8/disable-devtool.min.js#use' src='https://cdn.jsdelivr.net/npm/disable-devtool@0.1.9/disable-devtool.min.js#use'
></script> ></script>
<!-- <script disable-devtool-auto md5='1aabac6d068eef6a7bad3fdf50a05cc8' src='./npm/disable-devtool.min.js'></script> --> <!-- <script disable-devtool-auto md5='1aabac6d068eef6a7bad3fdf50a05cc8' src='./npm/disable-devtool.min.js'></script> -->
<script> <script>

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
{ {
"name": "disable-devtool", "name": "disable-devtool",
"version": "0.1.8", "version": "0.1.9",
"description": "Disable web developer tools from the f12 button, right-click and browser ", "description": "Disable web developer tools from the f12 button, right-click and browser ",
"main": "disable-devtool.min.js", "main": "disable-devtool.min.js",
"unpkg": "disable-devtool.min.js", "unpkg": "disable-devtool.min.js",

View File

@ -1,6 +1,6 @@
{ {
"name": "disable-devtool", "name": "disable-devtool",
"version": "0.1.8", "version": "0.1.9",
"description": "Disable web developer tools from the f12 button, right-click and browser ", "description": "Disable web developer tools from the f12 button, right-click and browser ",
"main": "disable-devtool.min.js", "main": "disable-devtool.min.js",
"unpkg": "disable-devtool.min.js", "unpkg": "disable-devtool.min.js",

View File

@ -2,16 +2,17 @@
* @Author: theajack * @Author: theajack
* @Date: 2021-07-24 23:15:54 * @Date: 2021-07-24 23:15:54
* @LastEditor: theajack * @LastEditor: theajack
* @LastEditTime: 2021-11-15 23:44:27 * @LastEditTime: 2021-11-17 12:02:49
* @Description: Coding something * @Description: Coding something
* @FilePath: /disable-devtool/src/detector/size.js * @FilePath: \disable-devtool\src\detector\size.js
*/ */
import {isInIframe} from '../util';
import {DETECTOR_TYPE, triggerOnDevOpen} from './detector'; import {DETECTOR_TYPE, triggerOnDevOpen} from './detector';
function checkWindowSizeUneven () { function checkWindowSizeUneven () {
const widthUneven = window.outerWidth - window.innerWidth > 20; const widthUneven = window.outerWidth - window.innerWidth > 100;
const heightUneven = window.outerHeight - window.innerHeight > 250; // 调大一点防止误伤 const heightUneven = window.outerHeight - window.innerHeight > 300; // 调大一点防止误伤
if (widthUneven || heightUneven) { if (widthUneven || heightUneven) {
triggerOnDevOpen(DETECTOR_TYPE.SIZE); triggerOnDevOpen(DETECTOR_TYPE.SIZE);
return false; return false;
@ -20,6 +21,10 @@ function checkWindowSizeUneven () {
} }
export default function detector () { export default function detector () {
if (isInIframe()) {
console.warn('SizeDetector is disabled in IFrame');
return;
}
checkWindowSizeUneven(); checkWindowSizeUneven();
window.addEventListener('resize', () => { window.addEventListener('resize', () => {
setTimeout(checkWindowSizeUneven, 100); setTimeout(checkWindowSizeUneven, 100);

View File

@ -121,4 +121,12 @@ export function isMacOs () {
function hasUaName (name) { function hasUaName (name) {
return navigator.userAgent.toLocaleLowerCase().indexOf(name) !== -1; return navigator.userAgent.toLocaleLowerCase().indexOf(name) !== -1;
}
export function isInIframe () {
try {
return window.self !== window.top;
} catch (e) {
return true;
}
} }

View File

@ -1 +1 @@
export default '0.1.8'; export default '0.1.9';