196 lines
5.0 KiB
JavaScript
196 lines
5.0 KiB
JavaScript
//プラットフォーム別 最後に読むやつ
|
|
//リンクを外部で開くか内部で出すか
|
|
$(document).on('click', 'a', e => {
|
|
var $a = $(e.target);
|
|
var url = $a.attr('href');
|
|
if (!url) {
|
|
var url = $a.parent().attr('href');
|
|
}
|
|
var urls = [];
|
|
if (url) {
|
|
urls = url.match(/https?:\/\/(.+)/);
|
|
//トゥートのURLぽかったら
|
|
toot = url.match(/https:\/\/([^+_]+)\/@([a-zA-Z0-9_]+)\/([0-9]+)/);
|
|
if(!toot){
|
|
//Pleroma対策
|
|
toot = url.match(/https:\/\/([^+_]+)\/users\/([a-zA-Z0-9_]+)\/statuses\/([0-9]+)/);
|
|
}
|
|
//タグのURLぽかったら
|
|
var tags = [];
|
|
tags = url.match(
|
|
/https:\/\/([^+_]+)\/tags\/([-_.!~*\'()a-zA-Z0-9;\/?:\&=+\$,%#]+)/
|
|
);
|
|
//メンションっぽかったら
|
|
var ats = [];
|
|
ats = url.match(
|
|
/https:\/\/([^+_]+)\/@([-_.!~*\'()a-zA-Z0-9;\/?:\&=+\$,%#@]+)/
|
|
);
|
|
if (toot) {
|
|
if (toot[1]) {
|
|
var acct_id = $a.parent().attr("data-acct");
|
|
if (!acct_id) {
|
|
acct_id = 0;
|
|
}
|
|
$a.parent().addClass("loadp")
|
|
$a.parent().text("Loading...")
|
|
detEx(url, acct_id);
|
|
}
|
|
|
|
} else if (tags) {
|
|
if (tags[2]) {
|
|
var acct_id = $a.parent().attr("data-acct");
|
|
if (!acct_id) {
|
|
acct_id = 0;
|
|
}
|
|
tl('tag', decodeURI(tags[2]), acct_id, 'add')
|
|
}
|
|
} else if (ats) {
|
|
if (ats[2]) {
|
|
//Quesdon判定
|
|
if (!~ats[2].indexOf("@")) {
|
|
udgEx(ats[2] + "@" + ats[1], "main");
|
|
return false
|
|
} else {
|
|
postMessage(["openUrl", url], "*")
|
|
}
|
|
|
|
|
|
}
|
|
} else {
|
|
//hrefがhttp/httpsならブラウザで
|
|
if (urls) {
|
|
if (urls[0]) {
|
|
if (~url.indexOf("thedeks.top")) {
|
|
//alert("If you recieve this alert, let the developer(Cutls@kirishima.cloud) know it with a screenshot.");
|
|
url = "https://thedesk.top";
|
|
}
|
|
postMessage(["openUrl", url], "*")
|
|
} else {
|
|
|
|
location.href = url;
|
|
}
|
|
} else {
|
|
location.href = url;
|
|
}
|
|
}
|
|
}
|
|
return false;
|
|
});
|
|
|
|
//よく使うライブラリ
|
|
|
|
//コピー
|
|
function execCopy(string) {
|
|
var temp = $("#copy");
|
|
temp.val(string);
|
|
temp.select();
|
|
var result = document.execCommand('copy');
|
|
return result;
|
|
}
|
|
function progshow(e) {
|
|
if (e.lengthComputable) {
|
|
var percent = e.loaded / e.total;
|
|
console.log("Progress: " + percent * 100);
|
|
$("#imgsel").hide();
|
|
if (percent < 1) {
|
|
$("#imgup").text(Math.floor(percent * 100) + "%");
|
|
} else {
|
|
$("#imgup").text(lang.lang_progress);
|
|
}
|
|
}
|
|
}
|
|
function opendev() {
|
|
var webview = document.getElementById("webview");
|
|
webview.openDevTools();
|
|
/*webview.sendInputEvent({
|
|
type: "keyDown",
|
|
keyCode: '2'
|
|
});
|
|
*/
|
|
}
|
|
var soundFile
|
|
function playSound() {
|
|
window.AudioContext = window.AudioContext || window.webkitAudioContext;
|
|
if(soundFile){
|
|
soundFile.stop()
|
|
}
|
|
context = new AudioContext();
|
|
context.createBufferSource().start(0);
|
|
context.decodeAudioData(request.response, function (buf) {
|
|
//console.log("Playing:" , source)
|
|
source.buffer = buf;
|
|
source.loop = false;
|
|
});
|
|
source = context.createBufferSource();
|
|
volumeControl = context.createGain();
|
|
source.connect(volumeControl);
|
|
volumeControl.connect(context.destination);
|
|
var cvol = localStorage.getItem("customVol")
|
|
if (cvol) {
|
|
vol = cvol
|
|
}else{
|
|
vol = 0.8
|
|
}
|
|
volumeControl.gain.value = vol
|
|
source.start(0);
|
|
soundFile = source;
|
|
|
|
function newFunction() {
|
|
var source;
|
|
return source;
|
|
}
|
|
}
|
|
function nano() {
|
|
postMessage(["nano", null], "*")
|
|
}
|
|
onmessage = function (e) {
|
|
if (e.data[0] == "details") {
|
|
details(e.data[1][0], e.data[1][1])
|
|
} else if (e.data[0] == "udg") {
|
|
udg(e.data[1][0], e.data[1][1])
|
|
} else if (e.data[0] == "media") {
|
|
media(e.data[1][0], e.data[1][1], e.data[1][2])
|
|
} else if (e.data[0] == "post") {
|
|
post("pass")
|
|
} else if (e.data[0] == "toastSaved") {
|
|
M.toast({ html: lang.lang_img_DLDone + e.data[1][0] + '<button class="btn-flat toast-action" onclick="openFinder(\'' + e.data[1][1] + '\')">Show</button>', displayLength: 5000 })
|
|
} else if (e.data[0] == "parseColumn") {
|
|
parseColumn(e.data[1])
|
|
} else if (e.data[0] == "exportSettingsCore") {
|
|
var exp = exportSettingsCore()
|
|
postMessage(["exportSettingsCoreComplete", [e.data[1], exp]], "*")
|
|
} else if (e.data[0] == "importSettingsCore") {
|
|
importSettingsCore(e.data[1])
|
|
}else if (e.data[0] == "fontList") {
|
|
fontList(e.data[1])
|
|
} else if (e.data[0] == "customSoundSave") {
|
|
customSoundSave(e.data[1][0], e.data[1][1])
|
|
} else if (e.data[0] == "ctLoadCore") {
|
|
ctLoadCore(e.data[1])
|
|
} else if (e.data[0] == "ctLoad") {
|
|
ctLoad()
|
|
} else if (e.data[0] == "customConnect") {
|
|
customConnect(e.data[1])
|
|
} else if (e.data[0] == "clearCustomImport") {
|
|
clearCustomImport()
|
|
} else if (e.data[0] == "npCore") {
|
|
npCore(e.data[1]);
|
|
} else if (e.data[0] == "renderMem") {
|
|
renderMem(e.data[1][0], e.data[1][1], e.data[1][2])
|
|
} else if (e.data[0] == "updateProg") {
|
|
updateProg(e.data[1]);
|
|
} else if (e.data[0] == "updateMess") {
|
|
updateMess(e.data[1]);
|
|
} else if (e.data[0] == "renderAbout") {
|
|
renderAbout(e.data[1]);
|
|
} else if (e.data[0] == "asRead") {
|
|
asRead()
|
|
} else if (e.data[0] == "asReadEnd") {
|
|
asReadEnd()
|
|
} else if (e.data[0] == "alert") {
|
|
Swal.fire({
|
|
type: 'info',
|
|
title: e.data[1]
|
|
})
|
|
}
|
|
} |