Add noopener noreferrer attribute to links
This commit is contained in:
@ -32,8 +32,7 @@
|
|||||||
"react/default-props-match-prop-types": 0, // todo
|
"react/default-props-match-prop-types": 0, // todo
|
||||||
"react/no-access-state-in-setstate": 0, // todo
|
"react/no-access-state-in-setstate": 0, // todo
|
||||||
"react/jsx-closing-tag-location": 0, // todo
|
"react/jsx-closing-tag-location": 0, // todo
|
||||||
"react/require-default-props": 0, // todo
|
"react/require-default-props": 0 // todo
|
||||||
"react/jsx-no-target-blank": 0 // todo
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ function renderCronSection(data) {
|
|||||||
<div>
|
<div>
|
||||||
<h2>{MailPoet.I18n.t('systemStatusCronTitle')}</h2>
|
<h2>{MailPoet.I18n.t('systemStatusCronTitle')}</h2>
|
||||||
<p>
|
<p>
|
||||||
<a href={url} target="_blank">{url}</a>
|
<a href={url} target="_blank" rel="noopener noreferrer">{url}</a>
|
||||||
</p>
|
</p>
|
||||||
{renderStatusMessage(status, MailPoet.I18n.t('systemStatusCronConnectionUnsuccessfulInfo'), '//beta.docs.mailpoet.com/article/231-sending-does-not-work')}
|
{renderStatusMessage(status, MailPoet.I18n.t('systemStatusCronConnectionUnsuccessfulInfo'), '//beta.docs.mailpoet.com/article/231-sending-does-not-work')}
|
||||||
</div>
|
</div>
|
||||||
|
@ -17,6 +17,7 @@ const TasksListDataRow = props => (
|
|||||||
data-newsletter-id={props.task.newsletter.newsletter_id}
|
data-newsletter-id={props.task.newsletter.newsletter_id}
|
||||||
data-queue-id={props.task.newsletter.queue_id}
|
data-queue-id={props.task.newsletter.queue_id}
|
||||||
target="_blank"
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
>
|
>
|
||||||
{props.task.newsletter.subject || MailPoet.I18n.t('preview')}
|
{props.task.newsletter.subject || MailPoet.I18n.t('preview')}
|
||||||
</a>
|
</a>
|
||||||
|
@ -310,6 +310,7 @@ const StatisticsMixin = {
|
|||||||
<a
|
<a
|
||||||
href={improveStatsKBLink}
|
href={improveStatsKBLink}
|
||||||
target="_blank"
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
className="mailpoet_stat_link_small"
|
className="mailpoet_stat_link_small"
|
||||||
>
|
>
|
||||||
{MailPoet.I18n.t('improveThisLinkText')}
|
{MailPoet.I18n.t('improveThisLinkText')}
|
||||||
|
@ -111,7 +111,7 @@ const newsletterActions = [
|
|||||||
name: 'view',
|
name: 'view',
|
||||||
link: function link(newsletter) {
|
link: function link(newsletter) {
|
||||||
return (
|
return (
|
||||||
<a href={newsletter.preview_url} target="_blank">
|
<a href={newsletter.preview_url} target="_blank" rel="noopener noreferrer">
|
||||||
{MailPoet.I18n.t('preview')}
|
{MailPoet.I18n.t('preview')}
|
||||||
</a>
|
</a>
|
||||||
);
|
);
|
||||||
|
@ -49,7 +49,7 @@ let newsletterActions = [
|
|||||||
name: 'view',
|
name: 'view',
|
||||||
link: function link(newsletter) {
|
link: function link(newsletter) {
|
||||||
return (
|
return (
|
||||||
<a href={newsletter.preview_url} target="_blank">
|
<a href={newsletter.preview_url} target="_blank" rel="noopener noreferrer">
|
||||||
{MailPoet.I18n.t('preview')}
|
{MailPoet.I18n.t('preview')}
|
||||||
</a>
|
</a>
|
||||||
);
|
);
|
||||||
@ -88,6 +88,7 @@ const NewsletterListNotificationHistory = createReactClass({ // eslint-disable-l
|
|||||||
<a
|
<a
|
||||||
href={newsletter.preview_url}
|
href={newsletter.preview_url}
|
||||||
target="_blank"
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
>
|
>
|
||||||
{ newsletter.queue.newsletter_rendered_subject || newsletter.subject }
|
{ newsletter.queue.newsletter_rendered_subject || newsletter.subject }
|
||||||
</a>
|
</a>
|
||||||
|
@ -125,7 +125,7 @@ let newsletterActions = [
|
|||||||
name: 'view',
|
name: 'view',
|
||||||
link: function link(newsletter) {
|
link: function link(newsletter) {
|
||||||
return (
|
return (
|
||||||
<a href={newsletter.preview_url} target="_blank">
|
<a href={newsletter.preview_url} target="_blank" rel="noopener noreferrer">
|
||||||
{MailPoet.I18n.t('preview')}
|
{MailPoet.I18n.t('preview')}
|
||||||
</a>
|
</a>
|
||||||
);
|
);
|
||||||
|
@ -110,7 +110,7 @@ let newsletterActions = [
|
|||||||
name: 'view',
|
name: 'view',
|
||||||
link: function link(newsletter) {
|
link: function link(newsletter) {
|
||||||
return (
|
return (
|
||||||
<a href={newsletter.preview_url} target="_blank">
|
<a href={newsletter.preview_url} target="_blank" rel="noopener noreferrer">
|
||||||
{MailPoet.I18n.t('preview')}
|
{MailPoet.I18n.t('preview')}
|
||||||
</a>
|
</a>
|
||||||
);
|
);
|
||||||
|
@ -189,7 +189,7 @@ class NewsletterTypes extends React.Component {
|
|||||||
</h3>
|
</h3>
|
||||||
<p>{type.description}</p>
|
<p>{type.description}</p>
|
||||||
{ type.videoGuide && (
|
{ type.videoGuide && (
|
||||||
<a className={badgeClassName} href={type.videoGuide} target="_blank">
|
<a className={badgeClassName} href={type.videoGuide} target="_blank" rel="noopener noreferrer">
|
||||||
<span className="dashicons dashicons-format-video" />
|
<span className="dashicons dashicons-format-video" />
|
||||||
{MailPoet.I18n.t('seeVideoGuide')}
|
{MailPoet.I18n.t('seeVideoGuide')}
|
||||||
</a>
|
</a>
|
||||||
|
@ -23,6 +23,7 @@ class AutomaticEmailEvent extends React.PureComponent {
|
|||||||
<a
|
<a
|
||||||
href={event.actionButtonLink}
|
href={event.actionButtonLink}
|
||||||
target="_blank"
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
>
|
>
|
||||||
{event.actionButtonTitle}
|
{event.actionButtonTitle}
|
||||||
</a>
|
</a>
|
||||||
|
Reference in New Issue
Block a user