mirror of
https://github.com/tenrok/vue-meta.git
synced 2026-06-23 17:10:33 +03:00
fixed issue where including metaInfo with the same script across multiple components on the same page includes it multiple times. this will de-dupe any of the same tags so that only one is ever inserted
This commit is contained in:
@@ -18,6 +18,20 @@ export default function _updateTags (options = {}) {
|
|||||||
const newTags = []
|
const newTags = []
|
||||||
let indexToDelete
|
let indexToDelete
|
||||||
|
|
||||||
|
if (tags.length > 1) {
|
||||||
|
// remove duplicates that could have been found by merging tags
|
||||||
|
// which include a mixin with metaInfo and that mixin is used
|
||||||
|
// by multiple components on the same page
|
||||||
|
const found = [];
|
||||||
|
tags = tags.map(x => {
|
||||||
|
const k = JSON.stringify(x);
|
||||||
|
if (found.indexOf(k) < 0) {
|
||||||
|
found.push(k);
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
}).filter(x => x);
|
||||||
|
}
|
||||||
|
|
||||||
if (tags && tags.length) {
|
if (tags && tags.length) {
|
||||||
tags.forEach((tag) => {
|
tags.forEach((tag) => {
|
||||||
const newElement = document.createElement(type)
|
const newElement = document.createElement(type)
|
||||||
|
|||||||
Reference in New Issue
Block a user