react公益404添加脚本 react动态添加脚本

当使用路由调整时这个方法无法显示,只能刷新才能显示,因为扩展问题,已经改为直接对接接口了。

做一个备份

```

const Error = ()=> {

  // 清理脚本标签

  const cleanScript = ()=>{

    let script404 = document.getElementById("script404");

    script404?.remove();

    let scripttDiy = document.getElementById("scripttDiy");

    scripttDiy?.remove(); 

  }

  // 挂载时添加一个公益404脚本

  useEffect(()=>{ 

    // 创建一个需要执行的404脚本加载后需要执行的脚本

    let diyScript = document.createElement('script');

    let diyFunc = `

    function diy(){

      // 需要执行的脚本

    }`

    // 添加id

    diyScript.setAttribute('id', 'scripttDiy');

    // 添加函数

    diyScript.append(diyFunc);

    document.getElementsByTagName('head')[0].appendChild(diyScript)

    // 添加404公益脚本

    let script = document.createElement('script');

    script.type = 'text/javascript';

    script.async = true;

    // 404接口官网 https://www.dnpw.org/404

    script.src = `//cdn.dnpw.org/404/v1.min.js`;

    // 设置id

    script.setAttribute('id', 'script404')

    // 自动跳转时间,单位秒,-1为手动点击跳转

    script.setAttribute('jumptime', '-1')

    // 自动跳转目标网址,默认 / 网站首页;

    script.setAttribute('jumptarget', '/')

    // maincolor: 主题色调或高亮色,可配合您站点主色进行配置;

    script.setAttribute('maincolor', '#32BF7D')

    // 页面短提示,客户端语言为中文默认为“错误提示”,其他为“Oops!”;

    script.setAttribute('tips', '404')

    //页面长提示,客户端语言为中文默认为“该页面找不到或已被删除”,其他为“The page was not found”;

    script.setAttribute('error', 'The page was not found')

    // 把脚本添加到head

    document.getElementsByTagName('head')[0].appendChild(script)   

    // 当页面销毁时执行删除脚本

    return ()=>{

      cleanScript();

    } 

  },[])

  return (

    <>

    </>

  )

}

export default Error;

```

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容