vue項目跳轉到外部連接

vue項目中遇到一個打印的功能。思考以後決定點擊按鈕,跳轉到一個HTML頁面(後臺寫的),利用window.print()方法調用瀏覽器的打印的功能。
因此,如今的問題是,怎樣跳轉到外部連接。開發vue項目的人都知道,vue項目會分爲三個版本:開發,測試,生產,咱們能夠在config文件夾下面的dev.env.js,prod.env.js,test.env.js配置路徑。
因此咱們就會遇到跨域的問題。html

js:
let Path = process.env.APP_EXCEL_PATH+'print.html?name=1'
window.open(Path)
一開始利用地址欄傳參的方式,就是直接在路徑上添加參數,而後再HTML文件中獲取地址參數渲染就行:
HTML中的js:

    <script>    
        window.onload=function(){
            
                    var n = getParam("name");
                        document.getElementById("name").innerHTML = n;
            }
        
        function getParam(paramName) {
                           paramValue = "", isFound = !1;
                                if (this.location.search.indexOf("?") == 0 && this.location.search.indexOf("=") > 1) {
                                        arrSource = unescape(this.location.search).substring(1, this.location.search.length).split("&"), i = 0;
                                        while (i < arrSource.length && !isFound) arrSource[i].indexOf("=") > 0 && arrSource[i].split("=")[0].toLowerCase() == paramName.toLowerCase() && (paramValue = arrSource[i].split("=")[1], isFound = !0), i++
                                }
                                return paramValue == "" && (paramValue = null), paramValue
                            }

    </script>



        <script>
            function printme(){
                document.body.innerHTML=document.getElementById('container').innerHTML+'<br/>';
                window.print();
            }

        </script>
以後遇到中文轉碼的問題,在地址欄傳入中文會致使亂碼問題,後來經過入參時利用encodeURI(encodeURI(name));編碼,而後, HTML中利用decodeURI(getParam("name"));解碼。解決問題。

 以後,因爲入參比較多並且中文也不少,致使地址欄參數長度過長HTML不能所有解讀。至此,這個問題沒法突破。
後來想到H5的本地存儲,能夠在跳轉的先給數據存儲在本地,而後再HTML中在從本地中取出來。以爲能夠實現,而後發現HTMl中的數據爲null,原來並無取到本地數據,發現本地存儲也有同源策略的問題,也就是跨域的問題,發現我在本地開發環境時是localhost:8080,而我跳轉的頁面的域名是127.0.01:8080端口,他們各自都有localStorage。原來問題就是域名,而後我打包在本地的Tomcat運行,發現能夠實現。至此,問題解決。

在vue項目的組件中:
js:vue

let Path = process.env.APP_EXCEL_PATH+'print.html'
window.open(Path)
相關文章
相關標籤/搜索