Вышеописанный скрипт не должен вызывать бесконечный цикл, исходя из моего опыта, как вы использовали скрипт? Попробуйте выполнить тестирование, вставив веб-часть редактора сценариев на страницу и вставив сценарий в веб-часть редактора сценариев.
И я выполню пользовательский сценарий до того, как обычно загружается DOM.
<script type="text/javascript">
$(function () {
var sitefrom = window.location.href
var language = sitefrom.search(/portuguese/i); /* IF language = -1, then site from = SPANISH, otherwise site from is PORTUGUESE */
var site_es_pt = sitefrom.replace(/spanish/gi, "portuguese");
var site_pt_es = sitefrom.replace(/portuguese/gi, "spanish");
var userid = _spPageContextInfo.userId;
var requestUri = _spPageContextInfo.webAbsoluteUrl + "/_api/web/getuserbyid(" + userid + ")";
var requestHeaders = { "accept": "application/json;odata=verbose" };
$.ajax({
url: requestUri,
contentType: "application/json;odata=verbose",
headers: requestHeaders,
success: onSuccess,
error: onError
});
})
function onSuccess(data, request) {
var loginName = data.d.Title;
if (loginName == "*@br.XX.com" && language == -1) { alert(loginName); }
if (loginName !== "*@br.XX.com" && language !== -1) { alert(sitefrom); }
}
function onError(error) {
alert("error");
}
</script>