tabs
tabs.forEach((el) => {
el.addEventListener('click', (e) => {
e.preventDefault();
});
});
Как создать сайт на 3-х языках?
или только создать поддомены en.site.com/ ru.site.com/site.com и создать отдельный сайт на каждом поддомене?
Нормально ли (нужно ли?) для SEO, чтобы обновлялись описания при переходе по вкладкам на странице? Нормально ли (нужно ли, опять же) обновлять SEO для страниц, которые основываются на динамически подгружаемых данных (страница новости, к примеру)?
async function clickByElement() {
let element = document.querySelector('.css-1swe2yf-DivActionContainer.esns4rh0 [aria-pressed="false"]');
if (!element) return null;
console.log('Клик!')
element.click();
while (element.getAttribute('aria-pressed') !== 'true') {
await new Promise(resolve => setTimeout(resolve, 100));
}
return true;
}
async function clickAllElements() {
let foundClickable = false;
while (await clickByElement() !== null) {
foundClickable = true;
}
return foundClickable;
}
async function scrollToBottomAndClickAgain() {
const scrollContainer = document.querySelector('.css-1qp5gj2-DivCommentListContainer.ekjxngi3');
if (scrollContainer) {
console.log('Крутим страницу и ждем 10 сек.')
let lastScrollTop = scrollContainer.scrollTop;
scrollContainer.scrollTop = scrollContainer.scrollHeight;
await new Promise(resolve => setTimeout(resolve, 10000));
if (scrollContainer.scrollTop !== lastScrollTop) {
if (await clickAllElements()) {
await scrollToBottomAndClickAgain();
} else {
console.log('Прокрутка выполнена, новые элементы для клика не найдены.');
}
} else {
console.log('Достигли конца прокрутки, больше нечего прокручивать.');
if (await clickAllElements()) {
await scrollToBottomAndClickAgain();
} else {
console.log('Задача окончательно завершена, кликов больше не осталось');
}
}
} else {
console.error('Контейнер для прокрутки не найден');
}
}
async function initiateClicksAndScroll() {
if (await clickAllElements()) {
await scrollToBottomAndClickAgain();
} else {
console.log('Нет элементов для начальных кликов, проверяем прокрутку');
await scrollToBottomAndClickAgain();
}
}
initiateClicksAndScroll().then(() => console.log('Задача выполнена май генерал!'));
.querySelectorAll()
..forEach()
..click()
.document.querySelectorAll('.CLASSNAME').forEach((el, i) => {
console.log(`Element №${i}, `, el);
el.click();
});
setTimeout(() => {
document.querySelectorAll('.CLASSNAME').forEach((el, i) => {
console.log(`Клик по элементу №${i}, `, el);
el.click();
});
}, 1000);
Как мне сделать так, чтобы мой сервис используя эти файлы запускался на https в контейнере
FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
WORKDIR /src
COPY ["project.csproj", "."]
RUN dotnet restore "project.csproj"
COPY . .
WORKDIR "/src/."
RUN dotnet build "project.csproj" -c Release -o /app/publish
FROM build AS publish
RUN dotnet publish "project.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
COPY ["cert.pem", "key.pem", "/https/"]
ENTRYPOINT ["dotnet", "project.dll"]
var builder = WebApplication.CreateBuilder(args);
builder.WebHost.ConfigureKestrel(options =>
{
options.ListenAnyIP(443, listenOptions =>
{
listenOptions.UseHttps("/https/cert.pem", "/https/key.pem");
});
});
Могу ли я установить ПО или ОС, а лицензию не ставить?
Какие подводные камни?
# Build Core lib
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS core-build
WORKDIR /src
COPY ["../Core/Core.csproj", "./Core/"]
RUN dotnet restore "./Core/Core.csproj"
COPY ["../Core/", "./Core/"]
RUN dotnet build "./Core/Core.csproj" -c Release -o /app/core
# Build API proj
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS api-build
WORKDIR /src
COPY ["Service/API/API.csproj", "./Service/API/"]
RUN dotnet restore "./Service/API/API.csproj"
COPY ["Service/API/", "./Service/API/"]
COPY --from=core-build /app/core /lib
RUN dotnet build "./Service/API/API.csproj" -c Release -o /app/service
# Create final image
FROM mcr.microsoft.com/dotnet/aspnet:8.0
WORKDIR /app
COPY --from=api-build /app/service .
ENTRYPOINT ["dotnet", "API.dll"]
в файловом менеджере на vps, где файлы самого next я нашел скрипт, который надо поменять, поменял его
Гугл подсказывает, что нужно прописать переменные среды. Вроде прописала, но все равно не запускается.
Не подскажете, в чем может быть проблема?
Могу ли я получить примерное значение максимально-возможного числа запросов и/или пользователей, которых сможет поддерживать мой Django сервер?
// functions.php or any plugin
function test($content) {
// Регулярка для поиска изображений
$pattern = '/<img[^>]+src="([^"]+)"[^>]+>/';
preg_match_all($pattern, $content, $m);
if (isset($m[1])) {
foreach ($m[1] as $i => $url) {
// Получаем url "полного" изображения
$full_url = preg_replace('/-\d+x\d+(\.\w+)$/', '$1', $url);
// Изменяем стандартный <img/> на <a><img/></a>
$r = '<a href="' . $full_url . '" target="_blank">' . $m[0][$i] . '</a>';
$content = str_replace($m[0][$i], $r, $content);
}
}
return $content;
}
add_filter('the_content', 'test');