iT邦幫忙

0

js window.open 路徑問題

  • 分享至 

  • xImage

各位大大好,小弟目前正在做一個列印html的功能,
目前因為是以開一個新的分頁在執行列印,
目前遇到的問題為css樣式的載入,
我將檔案放置在根目錄下的dict/css/xxx.css,

初判看起來是打開新的分頁後,該分頁的路徑不同於執行該程式的js擋
以下為代碼的部份,

const printWindow = window.open('', '_blank', '', false)
  printWindow.document.write(
    `
      <html>
        <head>
          <meta name="charset" content="utf-8" />
          <link href="/dist/vuetify.min.css" rel="stylesheet">
        </head>
        <body>
          <h1>測試</h1>
        </body>
      </html>
    `
  )

想請問各位大大,
wondow.open分頁打開後,

  1. 相對路徑該如何使用?
  2. 絕對路徑該如何設置?

感謝各位大大!!!

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

2
海綿寶寶
iT邦大神 1 級 ‧ 2021-03-12 14:34:59
最佳解答

相對路徑我試不出來
絶對路徑如下

const printWindow = window.open('', '_blank', '', false)
printWindow.document.write(    `
      <html>
        <head>
          <meta name="charset" content="utf-8" />
          <link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/themes/smoothness/jquery-ui.css" rel="stylesheet">
        </head>
        <body>
          <div class="ui-widget-header">測試</div>
        </body>
      </html>
    `
  )

感謝大大,看起來也只能用絕對路徑了,
一開始本來是直接連接到ui套件的官網使用CDN的方式,
不過因為某些原因無法使用外網,
目前會將資源下載下來,放置在伺服器的某個路徑下,
並且在打包時忽略該資源,就不會導致絕對路徑名稱失效。

感謝大大給予指教!!

我要發表回答

立即登入回答