@@ -330,6 +330,7 @@ class ExtractCssChunksPlugin {
330
330
'' ,
331
331
`// ${ pluginName } CSS loading` ,
332
332
`var supportsPreload = ${ supportsPreload } ` ,
333
+ `var linkExists = false` ,
333
334
`var cssChunks = ${ JSON . stringify ( chunkMap ) } ;` ,
334
335
'if(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);' ,
335
336
'else if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {' ,
@@ -343,7 +344,13 @@ class ExtractCssChunksPlugin {
343
344
Template . indent ( [
344
345
'var tag = existingLinkTags[i];' ,
345
346
'var dataHref = tag.getAttribute("data-href") || tag.getAttribute("href");' ,
346
- 'if((tag.rel === "stylesheet" || tag.rel === "preload") && (dataHref === href || dataHref === fullhref)) return resolve();' , ] ) ,
347
+ 'if((tag.rel === "stylesheet" || tag.rel === "preload") && (dataHref === href || dataHref === fullhref)) {' ,
348
+ Template . indent ( [
349
+ 'linkExists = true' ,
350
+ 'return resolve();' ,
351
+ ] ) ,
352
+ '}' ,
353
+ ] ) ,
347
354
'}' ,
348
355
'var existingStyleTags = document.getElementsByTagName("style");' ,
349
356
'for(var i = 0; i < existingStyleTags.length; i++) {' ,
@@ -387,7 +394,7 @@ class ExtractCssChunksPlugin {
387
394
'}).then(function() {' ,
388
395
Template . indent ( [
389
396
'installedCssChunks[chunkId] = 0;' ,
390
- 'if(supportsPreload) {' ,
397
+ 'if(!linkExists && supportsPreload) {' ,
391
398
Template . indent ( [
392
399
'var execLinkTag = document.createElement("link");' ,
393
400
`execLinkTag.href = ${ mainTemplate . requireFn } .p + ${ linkHrefPath } ;` ,
0 commit comments