我在库中有一个带有URL的SharePoint 2013文档库。我想知道有没有办法让我指定一个特定的URL,我想在一个带有JavaScript的外部选项卡中打开,我知道我可以做这样的事情
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.min.js"></script>
<div ng-app="myApp">
<div ng-controller="ctrl1 as one">
<ltcg-table options="one.rowCollection"></ltcg-table>
</div>
<script id="ltcg-table.html" type="text/ng-template">
<table st-table="rowCollection" class="table table-striped">
<thead>
<tr>
<th>first name</th>
<th>last name</th>
<th>birth date</th>
<th>balance</th>
<th>email</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="5">
Get data from scope.options
</td>
</tr>
<tr ng-repeat="row in options">
<td>{{row.firstName}}</td>
<td>{{row.lastName}}</td>
<td>{{row.birthDate}}</td>
<td>{{row.balance}}</td>
<td>{{row.email}}</td>
</tr>
<tr>
<td colspan="5">
<hr/>
</td>
</tr>
<tr>
<td colspan="5">
Get data saved from controller directly in link function
</td>
</tr>
<tr ng-repeat="row in rowCollection">
<td>{{row.firstName}}</td>
<td>{{row.lastName}}</td>
<td>{{row.birthDate}}</td>
<td>{{row.balance}}</td>
<td>{{row.email}}</td>
</tr>
</tbody>
</table>
</script>
</div>
但我还有其他ASPX页面,我不想在外部标签页面打开。任何帮助将不胜感激。
答案 0 :(得分:0)
您可以使用计算列来完成此操作。您将需要您的网址列,是/否列,以定义您是否希望在新标签页中打开网址,以及计算列将是可点击网址。
计算出的列公式如下所示。用适当的列名替换NewTab和UrlText。关于CONCATENATE的额外括号并非真正必要,我只是想提供可读性。
=IF(NewTab=TRUE,
(CONCATENATE("<a href=",UrlText," target=new>",UrlText,"</a>")),
(CONCATENATE("<a href=",UrlText,">",UrlText,"</a>")))
答案 1 :(得分:0)
您可以给他们另一个属性来检测是否应该在新标签页中打开它们(我们将使用new-tab
作为我们的属性):
的 HTML 强>:
<a href="http://somelink.com" new-tab="false">Click to go to some link!</a>
<a href="http://somelink.com" new-tab="true">Click to go to some link!</a>
<强> JS 强>:
$("a[href$='.aspx']").on('click', function(){
if($(this).attr('new-tab') == "true"){
window.open($(this).attr('href'), '_blank');
}
});