diff --git a/src/components/attachment/attachment.js b/src/components/attachment/attachment.js index c88497a2..57d21b28 100644 --- a/src/components/attachment/attachment.js +++ b/src/components/attachment/attachment.js @@ -20,6 +20,11 @@ const Attachment = { } }, methods: { + linkClicked ({target}) { + if (target.tagName === 'A') { + window.open(target.href, '_blank') + } + }, toggleHidden () { this.showHidden = !this.showHidden } diff --git a/src/components/attachment/attachment.vue b/src/components/attachment/attachment.vue index a294901b..738a1e86 100644 --- a/src/components/attachment/attachment.vue +++ b/src/components/attachment/attachment.vue @@ -18,7 +18,7 @@ <span v-if="type === 'unknown'">Don't know how to display this...</span> - <div v-if="type === 'html' && attachment.oembed" class="oembed"> + <div @click.prevent="linkClicked" v-if="type === 'html' && attachment.oembed" class="oembed"> <div v-if="attachment.thumb_url" class="image"> <img :src="attachment.thumb_url"></img> </div> diff --git a/src/components/status/status.js b/src/components/status/status.js index 030e22b5..e75400cb 100644 --- a/src/components/status/status.js +++ b/src/components/status/status.js @@ -40,6 +40,11 @@ const Status = { UserCardContent }, methods: { + linkClicked ({target}) { + if (target.tagName === 'A') { + window.open(target.href, '_blank') + } + }, toggleReplying () { this.replying = !this.replying }, diff --git a/src/components/status/status.vue b/src/components/status/status.vue index 47e14d28..162ab140 100644 --- a/src/components/status/status.vue +++ b/src/components/status/status.vue @@ -54,7 +54,7 @@ </small> </h4> - <div class="status-content" v-html="status.statusnet_html"></div> + <div @click.prevent="linkClicked" class="status-content" v-html="status.statusnet_html"></div> <div v-if='status.attachments' class='attachments'> <attachment :status-id="status.id" :nsfw="status.nsfw" :attachment="attachment" v-for="attachment in status.attachments">