ソープを使用して、すべて正常に機能しているシェアポイント リストのリスト アイテム (基本的には html 記事) を更新しています。別のサーバーからの更新情報として、このように行われます。これは、lists.asmx サービスへの Web 参照 (以下で sharepointref と呼ばれる) を使用して、asp.net (VB で) を介して行われます。
ただし、lists.asmx を介して updatelistitems を使用すると、A タグまたはタグに追加された onclick イベントはすべて取り除かれます。私は基本的に、リスト項目内のいくつかのリンクのonclickイベントにJQUERYを少し追加したいと思っています。
$('html,body').animate({scrollTop: $('#anchor').offset().top},'slow');return false;
これは、記事を再度リロードするのではなく、記事内のアンカー ポイントまでスムーズにスクロールするだけです。
これは sharepoint のセキュリティ機能だと思いますが、これを回避する方法はありますか?
基本的な例は次のとおりです。
Dim xmlDoc As XmlDocument = New System.Xml.XmlDocument()
Dim myUpdates as XmlNode= xmlDoc.CreateNode(XmlNodeType.Element, "Batch","")
myxml = "<Method ID='1' Cmd='Update'>"
myxml = myxml & "<Field Name='ID'>1</Field>"
myxml = myxml & "<Field Name='Content_Field'><![CDATA[<a name='anchor'></a><br><br><a href="&chr(34)&"#"&chr(34)&" onclick="&chr(34)&"$('html,body').animate({scrollTop: $('#anchor').offset().top},'slow');return false;"&chr(34)&">test</a>]]></Field>"
myxml = myxml & "</Method>"
myUpdates.InnerXml = myxml
Dim mysp As new sharepointref.Lists()
Dim ndLists As XmlNode = mysp.UpdateListItems("Articles",myUpdates)
上記はすべて問題ありませんが、Sharepoint で onclick イベントが失われている場合を除きます。