Web应用程序(JIRA)不支持特定于应用程序的URL,而是支持JavaScript的集成。我想替换html页面上所有特定于应用程序的app://*
链接字符串。
<div class="action-body flooded">
<p>app://foo.bar?var1=param1</p>
</div>
目前我可以通过以下方式轻松完成:
function rewriteLinks() {
var expression = /(app:\/\/[\w.,@?^=%&;:\/~+#-]+)/g;
document.body.innerHTML = document.body.innerHTML.replace(expression, "<a href=\"$1\">$1</a>");
};
window.onload = function() {
rewriteLinks();
}
示例html字符串:app://foo.bar?var1=param1
预期输出:<a href="app://foo.bar?var1=param1">app://foo.bar?var1=param1</a>
并且不替换现有的标签
问题是在某些情况下app://链接已经是真正的HTML链接。链接的属性href
和innerHTML
将被代码替换。所以现有的链接将被打破。
是否有更强大的方法可以替换非app://链接(不包含a
)对象?