有没有办法在Markdown中创建一个在新窗口中打开的链接?如果不是,您建议使用什么语法来完成此操作?我将把它添加到我使用的markdown编译器中。我认为这应该是一个选择。
当前回答
在我的项目中,我这样做,它工作得很好:
[Link](https://example.org/ "title" target="_blank")
Link
但并非所有解析器都允许这样做。
其他回答
这为我工作:[页面链接](你的url在这里"(目标|_blank)")
使用MUI v5“markdown-to-jsx”
这似乎对我很管用:
import Markdown from 'markdown-to-jsx';
...
const MarkdownLink = ({ children, ...props }) => (
<Link {...props}>{children}</Link>
);
...
<Markdown
options={{
forceBlock: true,
overrides: {
a: {
component: MarkdownLink,
props: {
target: '_blank',
},
},
},
}}
>
{description}
</Markdown>
没有简单的方法来做到这一点,就像@alex指出的那样,你需要使用JavaScript。他的答案是最好的解决方案,但为了优化它,你可能只想过滤到内容后链接。
<script>
var links = document.querySelectorAll( '.post-content a' );
for (var i = 0, length = links.length; i < length; i++) {
if (links[i].hostname != window.location.hostname) {
links[i].target = '_blank';
}
}
</script>
该代码与IE8+兼容,您可以将其添加到页面底部。注意,您需要更改“。Post-content (Post-content)指向你在帖子中使用的类。
如下所示:http://blog.hubii.com/target-_blank-for-links-on-ghost/
React + Markdown环境:
我创建了一个可重用组件:
export type TargetBlankLinkProps = {
label?: string;
href?: string;
};
export const TargetBlankLink = ({
label = "",
href = "",
}: TargetBlankLinkProps) => (
<a href={href} target="__blank">
{label}
</a>
);
我在任何需要在新窗口中打开链接的地方都使用它。
在Markdown v2.5.2中,你可以这样使用:
[link](URL){:target="_blank"}
推荐文章
- 使伸缩项目正确浮动
- 形式内联内的形式水平在twitter bootstrap?
- 自定义元素在HTML5中有效吗?
- 如何触发自动填充在谷歌Chrome?
- 创建圈div比使用图像更容易的方法?
- 为什么Chrome浏览器不正确地确定页面是在不同的语言,并提供翻译?
- 在网页上用鼠标模拟震颤(例如帕金森病)?
- Bootstrap抛出Uncaught错误:Bootstrap的JavaScript需要jQuery
- 如何改变文本区域的边框颜色:焦点
- 我如何设置背景颜色为文本的宽度,而不是整个元素的宽度,使用CSS?
- 如何删除和清除所有的本地存储数据
- 强制打开“另存为…”弹出打开文本链接点击PDF在HTML
- 如何修改标签文本?
- 我如何用javascript编程点击链接?
- 在HTML中还有其他有用的空格码吗,比如半空格的 , em-spaces, en-spaces等等?