plugin.ts如何在移动端时再注入addHTMLScripts,否则pc端的页面文字也会变大,如何规避这个问题
时间: 2024-12-15 10:24:32 浏览: 3
在`plugin.ts`文件中处理移动端和PC端差异,特别是在添加HTML脚本时,通常的做法是使用条件注释(如`<script>`标签的`type="module"`属性和`nomodule`属性,或` Modernizr`库检测浏览器特性)。这里是一个简单的例子:
```typescript
import { isMobile } from './utils/deviceDetector'; // 假设有一个设备检测工具库
export function addHTMLScripts() {
if (isMobile()) {
// 移动端:使用渐进增强的方式,只加载适合移动的脚本
const mobileScript = '<script type="text/javascript" src="mobile-script.js"></script>';
document.body.insertAdjacentHTML('beforeend', mobileScript);
} else {
// PC端:加载常规的脚本
const pcScript = '<script type="module" src="pc-script.js"></script><noscript><script src="pc-script-nomodule.js"></script></noscript>';
document.head.appendChild(document.createElement('script')).innerHTML = pcScript;
}
}
// 如果需要在初始化时立即注入,可以在插件初始化函数里调用这个方法
initPlugin() {
addHTMLScripts();
}
```
在这个例子中,我们首先检查是否为移动端,然后根据结果动态添加不同的脚本。对于PC端,使用了现代浏览器支持的模块化脚本(如果支持)以及老版本浏览器的兼容脚本。
阅读全文