用a標(biāo)簽,導(dǎo)出的時(shí)候有時(shí)候有空白頁面,需要解決,改成iframe有報(bào)錯(cuò)403,iframe重復(fù)下載問題解決方案

有空白頁面的代碼

let a = document.createElement("a");
 a.href = res.data; // 這里的請(qǐng)求方式為get,如果需要認(rèn)證,接口上需要帶上token
 a.click()

```
既然不想出現(xiàn)空白頁面的話,那不直接打開一個(gè)頁面而改成在當(dāng)前頁打開就可以了。

這時(shí)候想到iframe,借助iframe可以在原頁面打開一個(gè)頁面。
解決的方案
```
var不能改成let,就直接用var就可以了
var src = res.data;
var iframe = document.createElement('iframe');
iframe.style.display = 'none';
iframe.src = "javascript: '<script>location.href=\"" + src + "\"<\/script>'";
document.getElementsByTagName('body')[0].appendChild(iframe);
          
```
以上有報(bào)錯(cuò)403,解決的辦法就是
```
iframe.src = src
```
全代碼
``` 
          var src = res.data;
          let iframe = document.createElement('iframe');
          iframe.src =  src;
          iframe.style.display = 'none';
          document.getElementsByTagName('body')[0].appendChild(iframe);

```
以上代碼有會(huì)下載2遍,正在解決中。。。以下是解決iframe重復(fù)下載的問題
```
    exportInvoice() {
      if (this.importLoading) {
        return;
      }
      this.importLoading = true;
      let data = {
        requestNo: this.apply.requestNo
      };
      buyerExport(data).then((res) => {
        if (res.code == 200) {
          this.importLoading = false;
          this.downloadIfrme(res);//調(diào)用公告方法
        } else {
          this.importLoading = false;
        }
      });
    },
  寫在mixins文件里面的index.js公共文件中
    //oss文件下載
    downloadIfrme(res) {
      //獲得id為downLoadListFrame的frame
      let src = "";
      let divFrame = document.getElementById("downLoadListFrame");
      //判斷是否存在,如果存在先移除,再重新創(chuàng)建
      if (divFrame != null) {
        document.body.removeChild(divFrame);
      }
      src = res.data;
      let iframe = document.createElement("iframe");
      //setAttribute() 方法添加指定的屬性,并為其賦指定的值,如果這個(gè)指定的屬性已存在,則僅設(shè)置/更改值。
      iframe.setAttribute("id", "downLoadListFrame");
      iframe.src = "";
      iframe.src = src;
      iframe.style.display = "none";
      document.body.appendChild(iframe);
      //下載完以后刪掉
      setTimeout(() => {
        iframe.src = "";
        iframe.remove();
      }, 1000);
    }
```
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容