我有一个Microsoft Sharepoint 2010安装,当我使用集成搜索搜索项目时,我看到结果有以下javascript调用:
<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>
现在我需要从同一个Intranet中的外部站点调用相同的调用js函数(openDialogSearch)。
我已经看到这个函数是在一个inpage脚本中定义的,它调用以下函数传递资源的url:
SP.UI.ModalDialog.showModalDialog(url)
如何从不在Sharepoint内部的外部HTML页面调用相同的函数?
我不建议尝试从SP重新创建对话框基础结构:
相反,使用像jQuery对话框这样的对话框:https://jqueryui.com/dialog/
您需要更改此代码才能访问您的SP网址。
您还将进行配置更改。您需要允许从您的URL访问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>