|
1 | 1 | // ==UserScript== |
2 | 2 | // @name XMOJ |
3 | | -// @version 3.1.0 |
| 3 | +// @version 3.2.0 |
4 | 4 | // @description XMOJ增强脚本 |
5 | 5 | // @author @XMOJ-Script-dev, @langningchen and the community |
6 | 6 | // @namespace https://github/langningchen |
@@ -1912,7 +1912,7 @@ async function main() { |
1912 | 1912 | let UpdateDataCardListItem = document.createElement("li"); |
1913 | 1913 | UpdateDataCardList.appendChild(UpdateDataCardListItem); |
1914 | 1914 | UpdateDataCardListItem.className = "list-group-item"; |
1915 | | - UpdateDataCardListItem.innerHTML = "(<a href=\"https://github.com/XMOJ-Script-dev/XMOJ-Script/pull/" + Data.UpdateContents[j].PR + "\" target=\"_blank\">" + "#" + Data.UpdateContents[j].PR + "</a>) " + Data.UpdateContents[j].Description; |
| 1915 | + UpdateDataCardListItem.innerHTML = "(<a href=\"https://github.com/XMOJ-Script-dev/XMOJ-Script/pull/" + Data.UpdateContents[j].PR + "\" target=\"_blank\">" + "#" + Data.UpdateContents[j].PR + "</a>) " + escapeHTML(Data.UpdateContents[j].Description); |
1916 | 1916 | } |
1917 | 1917 | let UpdateDataCardLink = document.createElement("a"); |
1918 | 1918 | UpdateDataCardBody.appendChild(UpdateDataCardLink); |
@@ -3418,7 +3418,7 @@ async function main() { |
3418 | 3418 | let UpdateDataCardListItem = document.createElement("li"); |
3419 | 3419 | UpdateDataCardList.appendChild(UpdateDataCardListItem); |
3420 | 3420 | UpdateDataCardListItem.className = "list-group-item"; |
3421 | | - UpdateDataCardListItem.innerHTML = "(<a href=\"https://github.com/XMOJ-Script-dev/XMOJ-Script/pull/" + Data.UpdateContents[j].PR + "\" target=\"_blank\">" + "#" + Data.UpdateContents[j].PR + "</a>) " + Data.UpdateContents[j].Description; |
| 3421 | + UpdateDataCardListItem.innerHTML = "(<a href=\"https://github.com/XMOJ-Script-dev/XMOJ-Script/pull/" + Data.UpdateContents[j].PR + "\" target=\"_blank\">" + "#" + Data.UpdateContents[j].PR + "</a>) " + escapeHTML(Data.UpdateContents[j].Description); |
3422 | 3422 | } |
3423 | 3423 | let UpdateDataCardLink = document.createElement("a"); |
3424 | 3424 | UpdateDataCardBody.appendChild(UpdateDataCardLink); |
@@ -3709,8 +3709,8 @@ async function main() { |
3709 | 3709 | let UserInfoElement = document.createElement("div"); |
3710 | 3710 | UserInfoElement.classList.add("col-auto"); |
3711 | 3711 | UserInfoElement.style.lineHeight = "40px"; |
3712 | | - UserInfoElement.innerHTML += "用户名:" + UserID + "<br>"; |
3713 | | - UserInfoElement.innerHTML += "昵称:" + UserNick + "<br>"; |
| 3712 | + UserInfoElement.innerHTML += "用户名:" + escapeHTML(UserID) + "<br>"; |
| 3713 | + UserInfoElement.innerHTML += "昵称:" + escapeHTML(UserNick) + "<br>"; |
3714 | 3714 | if (UtilityEnabled("Rating")) { |
3715 | 3715 | UserInfoElement.innerHTML += "评分:" + ((await GetUserInfo(UserID)).Rating) + "<br>"; |
3716 | 3716 | } |
@@ -4858,7 +4858,7 @@ int main() |
4858 | 4858 | TitleLink.classList.add("link-secondary"); |
4859 | 4859 | TitleLink.innerHTML = "🔒 "; |
4860 | 4860 | } |
4861 | | - TitleLink.innerHTML += Posts[i].Title; |
| 4861 | + TitleLink.innerHTML += escapeHTML(Posts[i].Title); |
4862 | 4862 | let AuthorCell = document.createElement("td"); |
4863 | 4863 | Row.appendChild(AuthorCell); |
4864 | 4864 | GetUsernameHTML(AuthorCell, Posts[i].UserID); |
@@ -5202,12 +5202,12 @@ int main() |
5202 | 5202 | Delete.style.display = ""; |
5203 | 5203 | } |
5204 | 5204 | } |
5205 | | - PostTitle.innerHTML = ResponseData.Data.Title + (ResponseData.Data.ProblemID == 0 ? "" : ` - 题目` + ` <a href="https://www.xmoj.tech/problem.php?id=` + ResponseData.Data.ProblemID + `">` + ResponseData.Data.ProblemID + `</a>`); |
| 5205 | + PostTitle.innerHTML = escapeHTML(ResponseData.Data.Title) + (ResponseData.Data.ProblemID == 0 ? "" : ` - 题目` + ` <a href="https://www.xmoj.tech/problem.php?id=` + ResponseData.Data.ProblemID + `">` + ResponseData.Data.ProblemID + `</a>`); |
5206 | 5206 | document.title = "讨论" + ThreadID + ": " + ResponseData.Data.Title; |
5207 | 5207 | PostAuthor.innerHTML = "<span></span>"; |
5208 | 5208 | GetUsernameHTML(PostAuthor.children[0], ResponseData.Data.UserID); |
5209 | 5209 | PostTime.innerHTML = GetRelativeTime(ResponseData.Data.PostTime); |
5210 | | - PostBoard.innerHTML = ResponseData.Data.BoardName; |
| 5210 | + PostBoard.innerHTML = escapeHTML(ResponseData.Data.BoardName); |
5211 | 5211 | let Replies = ResponseData.Data.Reply; |
5212 | 5212 | PostReplies.innerHTML = ""; |
5213 | 5213 | for (let i = 0; i < Replies.length; i++) { |
@@ -5357,7 +5357,7 @@ int main() |
5357 | 5357 | if (Replies[i].EditPerson == Replies[i].UserID) { |
5358 | 5358 | ReplyContentElement.innerHTML += `<span class="text-muted" style="font-size: 12px">最后编辑于${GetRelativeTime(Replies[i].EditTime)}</span>`; |
5359 | 5359 | } else { |
5360 | | - ReplyContentElement.innerHTML += `<span class="text-muted" style="font-size: 12px">最后被<span class="Usernames">${Replies[i].EditPerson}</span>编辑于${GetRelativeTime(Replies[i].EditTime)}</span>`; |
| 5360 | + ReplyContentElement.innerHTML += `<span class="text-muted" style="font-size: 12px">最后被<span class="Usernames">${escapeHTML(Replies[i].EditPerson)}</span>编辑于${GetRelativeTime(Replies[i].EditTime)}</span>`; |
5361 | 5361 | } |
5362 | 5362 | } |
5363 | 5363 | let ContentEditElement = document.createElement("div"); |
|
0 commit comments