Всякое
Тест
Сообщений 1 страница 15 из 15
Поделиться22023-11-07 04:17:36
[html]<div id="list"></div>
<script>
let url = "https://viper-frpg.ovh/episodelist/list/2/2202,2180,2196,2189,2184,2224,2209,2190,2186,2234,2195,2201,2188,2181";
fetch(url, {
method: 'GET',
headers: {
'ref': document.referrer,
},
})
.then((response) => {
if (!response.ok) {
throw Error(response.statusText);
}
return response.text();
})
.then((html) => {
document.getElementById('list').innerHTML = html;
})
.catch((error) => {
console.error(error);
});
</script>[/html]
Поделиться32023-11-07 04:34:37
[html]<script>
head = document.querySelector('head').innerHTML
console.log(head)
console.log(document.referrer)
</script>[/html]
Поделиться42023-12-30 06:05:49
code here
Поделиться102024-01-16 05:17:55
|
Поделиться112024-01-16 16:55:45
|
Поделиться122024-01-20 02:49:04
|
Поделиться132024-06-23 23:26:51
[html]<div id="episode-list"></div>
<script>
function callApiGet(parameters = false) {
let p = ''
if (parameters) {
p = []
for (const [key, value] of Object.entries(parameters)) {
p.push(key + '=' + value);
}
p = p.join('&')
}
return fetch('https://frpgtools.com/storage/get?' + p).then((value) => {
return value
})
}
function loadListApi(fandom, boardId) {
return callApiGet({key: "el_" + fandom, board_id: boardId})
.then((response) => {
if (response.status !== 200) {
alert('This episode list does not exist')
}
return response.text()
})
.then((text) => {
text = JSON.parse(text);
if (text.error) {
alert('This episode list does not exist')
} else {
const list = text["el_" + fandom]
const elem = document.getElementById("episode-list")
if (elem) {
Object.keys(list).forEach((category) => {
if (list[category].length) {
elem.innerHTML += '<h3 class="category">' + category + '</h3><ul>'
list[category].forEach((episode) => {
elem.innerHTML += '<li data-status="'+episode['status']+'"><a class="episode-title" href="'+episode['url']+'">' + episode['title']
+ '</a> <span class="episode-characters">' + renderCharacters(episode['characters'])
+ '</span><span class="episode-description">'+episode['description']+'</span></li>'
})
elem.innerHTML += '</ul>'
}
})
}
}
})
}
function renderCharacters(characters)
{
let h = []
characters.forEach((character) => {
h.push('<a href="/profile.php?id='+character["id"]+'">'+character['name']+'</a>')
})
return h.join(', ')
}
loadListApi("test", 1831299)
</script>[/html]
Поделиться152025-09-13 03:17:11
[html]
<style>body {min-height: 400px;}
#add-episode {
margin: 1rem 0;
padding: 0.5rem 1rem;
font-size: 1rem;
border-radius: 6px;
border: 1px solid #ccc;
background: #eee;
cursor: pointer;
}
#add-episode:hover {
background: #ddd;
}
#episode_list > div {
margin-bottom: 2rem;
}
#episode_list h5 {
background: #f4f4f4;
padding: 0.6rem 0.8rem;
margin: 0;
border: 1px solid #ddd;
border-bottom: none;
font-size: 1.1rem;
font-weight: bold;
}
#episode_list ul {
list-style: none;
margin: 0;
padding: 0;
border: 1px solid #ddd;
border-top: none;
}
#episode_list li {
display: grid;
grid-template-columns: 80px 1fr 120px 200px;
align-items: center;
padding: 0.6rem 0.8rem;
border-top: 1px solid #eee;
}
#episode_list li:first-child {
border-top: none;
}
#episode_list li:nth-child(even) {
background: #fafafa;
}
#episode_list li button {
padding: 0.3rem 0.6rem;
font-size: 0.9rem;
border-radius: 4px;
border: 1px solid #bbb;
background: #f8f8f8;
cursor: pointer;
}
#episode_list li button:hover {
background: #e2e2e2;
}
#episode_list li a {
color: #0066cc;
text-decoration: none;
font-weight: 500;
}
#episode_list li a:hover {
text-decoration: underline;
}
#episode_list li span {
padding-left: 0.5rem;
font-size: 0.9rem;
color: #555;
}
#episode_list li button {
width: 28px;
height: 28px;
padding: 0;
border-radius: 4px;
border: 0px solid #bbb;
background: #f8f8f8;
cursor: pointer;
font-size: 0; /* hide text */
position: relative;
}
#episode_list li button::before {
content: "✎"; /* pencil icon */
font-size: 16px;
line-height: 28px;
display: block;
text-align: center;
}
#episode_list li button:hover {
background: #e2e2e2;
}
/* Modal container */
.modal-content {
background: #fff;
padding: 20px 30px;
max-width: 600px;
width: 90%;
border-radius: 8px;
box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 10px;
position: relative;
font-family: sans-serif;
box-sizing: border-box;
}
/* Form grid */
.modal-content > div:first-child {
display: grid;
grid-template-columns: 150px 1fr;
row-gap: 12px;
column-gap: 15px;
align-items: center;
}
/* Make labels right-aligned */
.modal-content label {
font-weight: 600;
color: #333;
text-align: right;
}
/* Inputs, textarea, select */
.modal-content input[type="text"],
.modal-content textarea,
.modal-content select {
width: 100%;
padding: 8px 10px;
border: 1px solid #ccc;
border-radius: 5px;
font-size: 0.95rem;
box-sizing: border-box;
transition: border 0.2s, box-shadow 0.2s;
}
.modal-content textarea {
min-height: 80px;
resize: vertical;
}
.modal-content input[type="text"]:focus,
.modal-content textarea:focus,
.modal-content select:focus {
border-color: #007bff;
box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.2);
outline: none;
}
/* Submit button spans full width of right column */
.modal-content input[type="submit"] {
grid-column: 2 / 3;
padding: 8px 16px;
border: none;
background: #007bff;
color: #fff;
font-weight: 600;
border-radius: 5px;
cursor: pointer;
transition: background 0.2s;
}
.modal-content input[type="submit"]:hover {
background: #0056b3;
}
/* Footer */
.modal-footer {
margin-top: 15px;
text-align: right;
grid-column: 1 / -1;
}
.modal-footer button {
padding: 6px 14px;
border-radius: 5px;
border: 1px solid #ccc;
background: #f0f0f0;
cursor: pointer;
font-size: 0.95rem;
transition: background 0.2s, border-color 0.2s;
}
.modal-footer button:hover {
background: #e0e0e0;
border-color: #999;
}
</style>
<div id="episode_list"></div>
<script>
console.log('??');
var episodeListSettings = {
storage: {
type: 'topic_shared',
topic_id: 16,
},
fields: [
{ name: 'topic_id', type: 'short' },
{ name: 'title', type: 'short' },
{ name: 'description', type: 'long' },
{ name: 'date', type: 'short' },
],
order_field: 'date',
categories: ['Very Long Ago', 'Not Long Ago', 'Now'],
category_template: '<div><h5>{category}</h5><ul>{episodes}</ul></div>',
button_template: '<button onclick>Edit</button>',
top_template: '<button id="add-episode">Add episode</button>',
episode_template: '<li>{button} <a href="/topic.html?id={topic_id}">{title}</a> <span>{date}</span> <span>{description}</span></li>',
};
</script>
<script src="https://forumstatic.ru/files/001b/f1/83/83808.js"></script>
[/html]



