Javascript SharePoint 2010:创建书签按钮,将页面添加到“我的链接”中

Javascript SharePoint 2010:创建书签按钮,将页面添加到“我的链接”中,javascript,sharepoint-2010,mysite,Javascript,Sharepoint 2010,Mysite,我正在尝试在母版页上创建一个链接/按钮,单击该链接/按钮时,会将当前页面添加到用户的我的链接列表中。这仅仅是一个快捷方式,用户不必导航到自己的我的网站并手动添加链接 提供了此问题的解决方案,但在“添加链接”对话框(QuickLinksDialog2.aspx)的第二行出现JavaScript错误,因为frameElement属性为空: <script language="Javascript"> var form = document.forms[0]; var ar

我正在尝试在母版页上创建一个链接/按钮,单击该链接/按钮时,会将当前页面添加到用户的我的链接列表中。这仅仅是一个快捷方式,用户不必导航到自己的我的网站并手动添加链接

提供了此问题的解决方案,但在“添加链接”对话框(QuickLinksDialog2.aspx)的第二行出现JavaScript错误,因为frameElement属性为空:

<script language="Javascript">
    var form = document.forms[0];
    var args = window.parent.frameElement.dialogArgs;

var form=document.forms[0];
var args=window.parent.frameElement.dialogArgs;
无论如何,Portal.js似乎包含“我的链接”页面(_layouts/MyQuickLinks.aspx)用于向此列表添加链接的所有功能


有人能建议我如何从母版页调用其中一个/一些函数,以便打开“添加链接”对话框,并预先显示标题和URL字段吗?

我最终使用对象模型创建了我的链接(与弹出对话框类似)

这样做的好处是添加链接现在只需单击一次,缺点是用户没有机会重命名链接或将其分配给组(就个人而言,我已经从UI隐藏了组,因为我们不需要它们,所以这对我来说不是问题)

对于那些感兴趣的人,我创建了一个小usercontrol,它只包含一个ajaxified按钮,您可以将它放到母版页/页面布局上。我的代码如下:

HTML



将以下功能添加到母版页:

function addlink(){
    t=document.title;
    u=escape(location.href);

    var q = window.location.protocol + "//" + window.location.host + "/_vti_bin/portalapi.aspx?cmd=PinToMyPage&ListViewURL=" + u + "&ListTitle=" + t + "&IsDlg-1"; // + "&ReturnUrl=" + u;

    location.href = q;

}
然后添加锚定标记:

<a href='javascript:addlink()'>Add this Page</a>

function addlink(){
    t=document.title;
    u=escape(location.href);

    var q = window.location.protocol + "//" + window.location.host + "/_vti_bin/portalapi.aspx?cmd=PinToMyPage&ListViewURL=" + u + "&ListTitle=" + t + "&IsDlg-1"; // + "&ReturnUrl=" + u;

    location.href = q;

}
<a href='javascript:addlink()'>Add this Page</a>