我有一个Microsoft Sharepoint 2010安装,当我使用集成搜索搜索项目时,我看到结果有以下javascript调用:
{^{for samples}}
{{setvar "itemIndex" #index+1 /}}
{{if ~getvar("itemIndex") = 0}}
<input id="tab{{:#index+1}}" type="radio" name="tabs" checked>
{{else}}
<input id="tab{{:#index+1}}" type="radio" name="tabs">
{{/if}}
<label for="tab{{:#index+1}}">{{:group}}</label>
{{/for}}
var vars = {};
$.views.tags({
setvar: function(key, value) {
if (value) {
vars[key] = value;
} else {
vars[key] = this.tagCtx.render();
}
return "";
}
});
$.views.helpers({
getvar: function(key) {
return vars[key];
}
})
现在我需要从同一个内部网中的外部站点调用相同的调用js函数( openDialogSearch )。
我已经看到这个函数是在一个inpage脚本中定义的,该脚本调用以下函数传递资源的url:
<a id="SRB_g_b60c4a68_5348_49ec_846c_b9d069d6774d_1_Title" href="javascript:openDialogSearch('https://example.com/xyz/DispForm.aspx?ID=1');" title="This is just a test"><strong>Test</strong></a>
如何从不在Sharepoint内部的外部HTML页面调用相同的函数?
答案 0 :(得分:0)
我不建议尝试从SP重新创建对话框基础结构:
相反,使用像jQuery对话框这样的对话框: https://jqueryui.com/dialog/
您需要更改此代码才能访问您的SP网址。
您还将进行配置更改。您需要允许从您的网址访问SP,否则您将获得Access-Control-Allow-Origin错误。这是对给定网站集的SP web.config文件的更新。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>jQuery UI Dialog - Default functionality</title>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<link rel="stylesheet" href="https://jqueryui.com/dialog/resources/demos/style.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script>
$( function() {
$("#dialog").load("PUT YOUR URL HERE").dialog({modal:true});
//$("#dialog").dialog();
} );
</script>
</head>
<body>
<div id="dialog" title="Basic dialog">
<p>This is the default dialog which is useful for displaying information. The dialog window can be moved, resized and closed with the 'x' icon.</p>
</div>
</body>
</html>