Showing source for: https://www.chatblink.com/random-chat/
Duration: 0.088369s
Server: cloudflare
<!DOCTYPE html>
<html prefix="og: http://ogp.me/ns#" dir="LTR" lang="en">
<head>
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
<link rel="apple-touch-icon" href="/apple-touch-icon-57x57.png" />
<link rel="apple-touch-icon" sizes="72x72" href="/apple-touch-icon-72x72.png" />
<link rel="apple-touch-icon" sizes="114x114" href="/apple-touch-icon-114x114.png" />
<link rel="apple-touch-icon" sizes="144x144" href="/apple-touch-icon-144x144.png" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Random Chat - Instant Chat with Strangers</title>
<meta name="theme-color" content="#ffffff">
<meta name="description" content="Free random chat room. Connect with strangers. No registration. Start chat with strangers instantly. This is a great one-on-one text chat alternative." />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="manifest" href="/manifest.json">
<link rel="stylesheet" href="/css/default.css?b71" type="text/css" media="screen" />
<meta name="keywords" content="random chat, chat with strangers, stranger chat, chat random, roulette chat sites, omegle random text chat">
<meta property="og:image" content="https://www.chatblink.com/img/chatblink.jpg" />
<meta property="og:title" content="Random Chat - Instant Chat with Strangers" />
<meta property="og:url" content="https://www.chatblink.com/random-chat" />
<meta property="og:site_name" content="www.chatblink.com" />
<meta property="og:description" content="Free random chat room. Connect with strangers. No registration. Start chat with strangers instantly. This is a great one-on-one text chat alternative." />
<meta property="og:type" content="website" />
<meta property="fb:app_id" content="193705257769448" /><link rel="amphtml" href="/amp/random-chat.html" /> <script async src="https://fundingchoicesmessages.google.com/i/pub-8715958404542661?ers=1" nonce="9XHVnP-lLdNPLMHXCWMWGw"></script><script nonce="9XHVnP-lLdNPLMHXCWMWGw">(function() {function signalGooglefcPresent() {if (!window.frames['googlefcPresent']) {if (document.body) {const iframe = document.createElement('iframe'); iframe.style = 'width: 0; height: 0; border: none; z-index: -1000; left: -1000px; top: -1000px;'; iframe.style.display = 'none'; iframe.name = 'googlefcPresent'; document.body.appendChild(iframe);} else {setTimeout(signalGooglefcPresent, 0);}}}signalGooglefcPresent();})();</script>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8715958404542661" crossorigin="anonymous"></script>
</head>
<body itemscope itemtype="http://schema.org/WebPage" class="random-chat_body">
<header id="header">
<div id="navigation">
<a id="logo" title="ChatBlink.com" href="/"></a>
<a id="sign_up_login" href="/">Join ChatBlink</a> </div>
</header>
<article>
<div id="container" class="random-chat_type">
<div class="body">
<div id="ad-header-random-chat" class="ad-side" align="center">
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8715958404542661" crossorigin="anonymous"></script>
<ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-8715958404542661" data-ad-slot="6246657696" data-ad-format="auto" data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>
<div class="content">
<div class="content-padding">
<div id="random-chat">
<div id="chatbox">
<div id="start" style="margin:auto;width: 100%;text-align: center;">
<div class="random-ad2"><small class="advertisements">Advertisements</small></div>
<div id="random-welcome">
<h1>Random Chat - Instant Chat with Strangers</h1>
<div id="random-chat-center">
<label>
Name:
<input id="random_name" value="Stranger" maxlength="12" /></label>
<button type="button" id="start-chat" class="btn-success">START CHAT</button>
</div>
<h2>Free random chat room. Connect with strangers. No registration. Start chat with strangers instantly. This is a great one-on-one text chat alternative.</h2>
By starting random chat you agree to the <a href="/terms-of-use">Terms of Use</a> and <a href="/privacy-policy">Privacy policy</a>
<br/>
You can also have a good time on <a href="/chat-rooms">chat rooms</a> and <a href="/talk-to-strangers">talk to strangers</a>. <br/>
We recommend you read our <a href="/safe-chatting">Safe Chatting Guide</a> to ensure a secure and enjoyable experience.
</div>
</div>
<ul id="msgs"></ul>
</div>
<div id="chat">
<form id="random_chat" class="form-inline" accept-charset="utf-8">
<textarea rows="1" cols="50" class="input textarea" disabled placeholder="Type Message Here" id="msg"></textarea>
<button type="button" name="send" id="send_message" value="Send" class="btn-success" disabled>SEND</button>
<div id="more-buttons">
<button id="next-stranger" class="btn btn-success">New Chat</button>
<button class="btn btn-warning" id="request_photo" type="button">Req Photo</button>
<button class="btn btn-error report_random" id="report_random" type="button">Report</button>
</div>
</form>
</div>
</div>
<div class="modal" id="under" style="display:none;">
<div class="modal_bg"></div>
<div class="modal-content" style="text-align:center;padding: 15px;">
<h2>You must be 18 or older to use this site. </h2>
<p>By clicking "Yes, I'm 18 or older," you confirm that you meet this age requirement and agree to our <a href="/terms-of-use">Terms of Use</a> and <a href="/privacy-policy">Privacy Policy</a>.</p>
<button type="button" id="under-yes" class="btn btn-success">Yes, I'm 18 or older</button>
<button type="button" id="under-no" class="btn btn-success">No, I'm under 18</button>
</div>
</div>
<div class="modal" id="report_form" style="display:none;">
<div class="modal_bg"></div>
<div class="modal-content" style="padding: 10px;">
<span class="close">Ã</span>
<h2>Report User</h2>
<form id="reportForm">
<span>Reason for Reporting:</span><br>
<select id="reportReason" name="reportReason" required>
<option value="spam">Spam</option>
<option value="harassment">Harassment</option>
<option value="hateSpeech">Hate Speech</option>
<option value="inappropriatecontent">Inappropriate content</option>
<option value="other">Other</option>
</select><br>
<label id="additionalDetails" style="display:none;">Additional Details (optional):
<input type="text" name="additionalDetails" maxlength="250">
</label><br>
<button type="submit" id="submitReport" class="btn btn-success">Submit Report</button>
</form>
</div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="/js/default-1.js?144"></script>
<script src="https://ws.chatblink.com/socket.io/socket.io.js"></script>
<script src="/js/murmur.js"></script>
<style>
.ad-side {
margin: 5px 0 0 0;
}
h1 {
font-size: 18px;
line-height: 22px;
}
h2 {
font-size: 16px;
font-weight: normal;
}
#start-chat {
font-size: 16px;
background-color: #0A8549;
clear: both;
cursor: pointer;
float: none;
font-weight: bold;
text-transform: uppercase;
}
.random-ad2 {
display: none;
}
#random-chat {
position: relative;
margin: 0px auto;
height: 100%;
top: 0;
margin-top: 0;
border-radius: 5px;
min-height: 370px;
margin-bottom: -22px;
background: url(/img/random-strangers-repeatable.png) #fff;
}
#exit {
border:0;
}
#random-chat-center {
text-align: center;
background: #23447c;
width: 97%;
max-width: 400px;
color: #ffff;
margin: 0 auto;
border-radius: 5px;
padding: 3px;
}
#random-chat #chatbox {
padding: 0 0 0 1%;
webkit-overflow-scrolling: touch;
overflow-y: scroll;
overflow-x: hidden;
position: absolute;
top: 0;
bottom: 92px;
right: 0;
left: 0;
display: flex;
flex-direction: column;
max-height: none;
background-color: rgb(255 215 239 / 35%);
}
.btn-warning {
background-color: #18817A !important;
}
#random_chat {
position: relative;
margin-bottom: 0;
background: url(/img/random-strangers-repeatable.png) #fff;
}
#more-buttons {
background: #fff;
padding: 0px;
top: 0;
left: 14%;
right: 0;
z-index: 999999;
}
#more-buttons button {
font-size: 16px !important;
width: 33.33% !important;
}
#more {
width: 14% !important;
font-size: 33px !important;
line-height: 0;
color: #fff;
background: #1aad0b;
padding: 0;
border: 0;
}
#more:disabled,
#send_message:disabled {
background: #aaa;
}
#report_random span.image {
background: url(../img/glyphicons-halflings.png) -143px -120px transparent;
width: 16px;
}
#random-welcome {
position: absolute;
top:0;
}
#start_random input {
text-align: center;
float: none !important;
background: none repeat scroll 0 0 #fff;
border: 0;
margin: 0;
DISPLAY: inline-block;
font-size: 18px;
color: #000;
padding: 17px 0 10px 0;
width: 164px;
resize: none;
border-bottom: 5px solid #38b728;
}
#start_random button {
padding: 16px 0;
float: none;
width: 37%;
max-width: 160px;
margin: 5px;
font-size: 20px;
}
#start_random div {text-align: center;}
.alert {
padding: 10px 9px;
}
#random-chat #chatbox ul li {
list-style: none;
min-height: 20px;
clear: both;
}
#chat {
line-height: 0;
position: absolute;
WIDTH: 100%;
bottom: 0;
Z-INDEX: 999;
}
footer {
display: none;
}
#logo {
display: inline-block;
float:none;
}
.go_back {
margin: 8px 2px 0 2px;
}
.random-ad, .random-add2 {
text-align: center;
padding: 20px 0;
}
.image-blur {
filter: blur(8px);
transition: filter 0.3s;
}
.image-blur:hover {
filter: blur(0);
}
.report-btn {
display: block;
margin-top: 10px;
color: #fff;
background-color: #2396f3;
text-align: center;
padding: 5px;
border-radius: 5px;
width: 115px;
cursor: pointer;
}
.age-warning {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(0,0,0,0.5);
color: #fff;
display: flex;
justify-content: center;
align-items: center;
font-size: 20px;
text-align: center;
padding: 10px;
}
@media screen and (min-width:768px) {
#logo {
float:left;
}
footer {
display: block;
}
#random-chat {
position: relative;
margin: 0px auto;
height: 100%;
margin-bottom: 20px;
top: 0;
margin-top: 20px;
border-radius: 5px;
min-height: 478px;
}
body {
background-color: #d6e8fd;
}
}
</style>
<script>
var vpn = 0;
var is_captha = 0;
//var ageConfirmed = sessionStorage.getItem('ageConfirmed') === 'true';
var ageConfirmed = false;
var murmur = false;
var stranger_session = false;
var stranger_id = false;
var stranger_name = false;
var my_name = '';
var my_name_li = '';
var stranger_country = false;
var textarea_focus = false;
var count_disconnects = 0;
var count_messages_session = 0;
var conversations = 0;
let count_disconnects_local = localStorage.getItem("count_disconnects");
if(count_disconnects_local) {
count_disconnects = count_disconnects_local;
}
var kick = false;
var leave_alert = false;
var waiting_timeout = '';
var first = 0;
var correctCaptcha = function(response) {
if(response.length > 0) {
//reCaptcha not verified
var showbtn = '<label>Name: <input id="random_name" value="Stranger" maxlength="12"/></label><button type="button" id="start-chat" class="btn-success">START CHAT</button>';
$('#random-chat-center').html(showbtn).show();
}
};
var ads_loadet = true;
if(is_captha == 1) {
var onloadCallback = function() {
grecaptcha.render('html_element', {
'sitekey' : '6LfBAWoaAAAAAPaeh9X0LCj1lPLotVMt0BTwZ7rQ',
'callback' : correctCaptcha
});
};
}
$(function() {
if(getCookie("random_name") != null) {
$('#random_name').val(getCookie('random_name'));
my_name = $('#random_name').val();
}
$("#reportReason").on("change", function(e) {
if($(this).val() == "other") {
// Show Additional Details if 'Other' is selected
$("#additionalDetails").show();
} else {
// Hide Additional Details for other options
$("#additionalDetails").hide();
}
});
var key_speed = 0;
var iLastTime = 0;
var iTime = 0;
var iTotal = 0;
var iKeys = 0;
function checkSpeed() {
iTime = new Date().getTime();
if (iLastTime != 0) {
iKeys++;
iTotal += iTime - iLastTime;
key_speed = Math.round(iKeys / iTotal * 60000, 2);
}
iLastTime = iTime;
}
emit_typing = '';
$("#msg").on("keyup", function(e) {
checkSpeed();
clearTimeout(emit_typing);
if(e.keyCode == 13) {
clearTimeout(emit_typing);
return false;
}
emit_typing = setTimeout(function() {
socket.emit("typing", stranger_session);
}, 1000);
});
$("#under-yes").click(function() {
ageConfirmed = true;
// Save age confirmation status in sessionStorage
sessionStorage.setItem('ageConfirmed', ageConfirmed);
startChat();
$('#under').hide();
});
$("#under-no").click(function() {
$('#under').hide();
ageConfirmed = false;
// Save age confirmation status in sessionStorage
sessionStorage.setItem('ageConfirmed', ageConfirmed);
});
$("#random-chat").on('click', "#start-chat", function() {
if (ageConfirmed) {
startChat();
} else {
$("#under").show();
return false;
}
});
function startChat() {
my_name = $('#random_name').val();
if (!my_name) {
my_name = 'Stranger';
}
my_name = my_name.replace(/[^a-zA-Z0-9\s]/g, '');
urls = my_name.match(/\b(http|https)?(:\/\/)?(\S*)\.(\w{2,4})\b/ig);
if(urls != null && urls.length > 0) {
$('#random_name').css('border-color','red');
$('#random_name').val("");
my_name = 'Stranger';
return false;
}
if(my_name.length <= 0) {
my_name = 'Stranger';
}
my_name_li = my_name;
setCookie('random_name', my_name, 20);
start_new_chat();
}
if($(window).width()<768) {
$("#random-chat").height($(window).height()-150);
} else {
$("#random-chat").height('');
}
$(window).resize(function(){
if($(window).width()<768) {
$("#random-chat").height($(window).height()-150);
} else {
$("#random-chat").height('');
}
});
if(kick==false) {
var socket = io.connect("https://ws.chatblink.com",{'forceNew':true, secure: true});
}
$("#msg, #more, #send_message").prop('disabled',true);
$("form").submit(function(event){
event.preventDefault();
});
if(getCookie("random_name") != null) {
my_name = getCookie('random_name');
urls = my_name.match(/\b(http|https)?(:\/\/)?(\S*)\.(\w{2,4})\b/ig);
if(urls != null && urls.length > 0) {
my_name = 'Stranger';
}
} else {
my_name = 'Stranger';
}
my_name_li = my_name;
if(my_name == 'Stranger') {
my_name_li = 'You';
}
$("#more").click(function() {
$('#more-buttons').toggle();
});
$("#next-stranger").click(function() {
if (ageConfirmed == false) {
$("#under").show();
return false;
}
// this reloading page
/*
if (conversations > 0) {
leave_alert = false;
socket.emit("exit");
window.location.reload();
return false;
}
*/
if ($('#start-chat').length > 0) {
$('#start-chat').click();
} else {
if ($('#html_element').length > 0) {
return false;
}
if ($('#html_element2').length > 0) {
return false;
}
socket.emit("exit");
$("#tiping").remove();
}
});
$(window).bind('beforeunload', function(){
if(leave_alert) {
// return 'Are you sure you want to leave?';
socket.emit("exit");
}
});
function start_new_chat() {
if(stranger_session) {
alert('Ups, Something is wrong, reload the page!');
leave_alert = false;
window.location.reload();
} else {
$('#msgs li').remove();
$("#random-welcome").remove();
$("#msg, #more, #send_message").prop('disabled',true);
$("#msgs").append("<li class='waiting'><strong class='alert alert-waiting'>Waiting for stranger <img src='/img/loader-cb.gif' style='margin: -10px 0 -8px 0;height: 26px;width: 26px;'><span></span></strong></li>");
setTimeout(function() {
socket.emit("waiting", { 'name': my_name, 'timestamp' : '1717628179', 'token' : '7fe1f0d08c28c8b748eed92c59f42c08', 'vpn':vpn, 'murmur': murmur});
},500);
waiting_timeout = setTimeout(function() {
if($("#msgs li.waiting").length > 0) {
alert('Ups, Something is wrong, please reload the page!');
leave_alert = false;
window.location.reload();
}
},20000);
if($("#msgs .waiting").length <= 0) {
$("#msg, #more, #send_message").prop('disabled',true);
}
}
}
socket.on("connected", function(data) {
stranger_session = data.id;
stranger_name = data.name;
stranger_id = data.db_id;
conversations = conversations + 1;
clearTimeout(waiting_timeout);
leave_alert = true;
/*
if(first <= 2) {
history.pushState({state:first}, "Start Chat", "#start");
first = first + 1;
}*/
$("#msgs .waiting").remove();
$("#msgs").append("<li id='say_hi'><strong><span class='text-warning alert'>Connected to "+data.name+", say hi!</span></strong></li>");
$("#msg").prop('disabled',false);
$("#more, #send_message, .report_random").prop('disabled',false);
if(false && ads_loadet) {
$.getScript("//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8715958404542661");
$(".random-ad2").show().append('<ins class="adsbygoogle" style="display:inline-block;width:300px;height:250px" data-ad-client="ca-pub-8715958404542661" data-ad-slot="8332720165"></ins>');
(adsbygoogle = window.adsbygoogle || []).push({});
ads_loadet = false;
}
$('#chatbox').prop('scrollTop', $('#chatbox').prop('scrollHeight'));
// $("#msg").focus();
});
$("#request_photo").click(function() {
// Check if the chat count with the stranger is less than 5
if ($('#msgs li.stranger').length < 5) {
// Prevent multiple alerts by checking if an alert is already displayed
if (!$('#msgs').find('.alert-error').length) {
$("#msgs").append("<div class='alert alert-error'>Chat a bit more to request a photo.</div>");
$('#chatbox').prop('scrollTop', $('#chatbox').prop('scrollHeight'));
// Remove the alert after 4 seconds
setTimeout(function() {
$('#msgs .alert-error').remove();
}, 4000);
}
return false; // Stop further execution for this click event
}
// Check if there's an active session with a stranger
if (stranger_session != false) {
socket.emit("request_photo", stranger_session);
$("#msgs").append("<li><strong><span class='text-success'><span style='color:blue'>" + my_name_li + "</span></span></strong>: Requested Photo</li>");
$('#chatbox').prop('scrollTop', $('#chatbox').prop('scrollHeight'));
} else {
// If not in a session, inform the user to start chatting with someone
if (!$('#msgs').find('.alert-error').length) {
$("#msgs").append("<div class='alert alert-error'>Start Chat With Someone to Request Photo</div>");
$('#chatbox').prop('scrollTop', $('#chatbox').prop('scrollHeight'));
setTimeout(function() {
$('#msgs .alert-error').remove();
}, 4000);
}
}
});
$('#random-chat').on('click', '.report_random', function() {
if(stranger_id != false) {
// Open the report form modal
$('#report_form').show();
// Handle form submission
$('#reportForm').on('submit', function(e) {
e.preventDefault(); // Prevent default form submission
var reportReason = $('#reportReason').val();
var additionalDetails = $('input[name="additionalDetails"]').val();
$.ajax({
type: "POST",
timeout: 10000,
cache: false,
url: "/room/random_report",
data: {
'stranger_session': stranger_session,
'stranger_id': stranger_id,
'report_reason': reportReason,
'additional_details': additionalDetails
}
}).done(function(data) {
$('#report_form').hide(); // Close the modal
$("#msgs").append("<div class='alert alert-error'>Report submitted successfully. We will review it within 24 hours and take any necessary actions.</div>");
$('#chatbox').prop('scrollTop', $('#chatbox').prop('scrollHeight'));
setTimeout(function() {
$('#msgs .alert-error').remove();
}, 10000); // Remove the message after 10 seconds
$('.report_random').prop('disabled', true);
});
});
} else {
$("#msgs").append("<div class='alert alert-error'>Start Chat With Someone First!</div>");
$('#chatbox').prop('scrollTop', $('#chatbox').prop('scrollHeight'));
setTimeout(function() {
$('#msgs .alert-error').remove();
}, 4000);
}
});
function isPhoneNumber(text) {
var pattern = /(\d[\D]{0,2}){6,}\d/g;
var matches = text.match(pattern);
if (matches) {
// If any match is found, consider it as having a phone number pattern
return true;
}
// No matches found resembling a phone number pattern
return false;
}
function show_error(msg) {
$("#msgs").append('<li><span class="alert alert-error">'+msg+'</span></li>');
setTimeout(function() {
$("#msgs .alert-error").last().parent('li').remove();
}, 5000);
$("#chatbox").animate({ scrollTop: $('#msgs')[0].scrollHeight}, 0);
}
function emit_message() {
msg = $("#msg").val();
if (msg == 'Type Here...') {
$("#start_random button").click();
return false;
}
if (/\bhttps?:\/\/\S+\b/ig.test(msg)) {
show_error("Links are not allowed here!");
$("#msg").val('');
return false;
}
if (isPhoneNumber(msg)) {
show_error("Phone number is not allowed here!");
$("#msg").val("");
return false;
}
msg = $($.parseHTML(msg)).text();
msg = msg.replace(/[^\x20-\x7E]+/g, '');
if(msg.replace(/\s+/g, '').length > 0 && stranger_session != false) {
socket.emit("send", {'msg': msg, 'id': stranger_session, 'count_key': key_speed, 'summ_mouse' : 0});
$("#msg").val('');
key_speed = 0;
iLastTime = 0;
iTime = 0;
iTotal = 0;
iKeys = 0;
count_messages_session = count_messages_session + 1;
$("#msgs").append("<li><strong><span class='text-success'><span style='color:blue'>"+my_name_li+"</span></span></strong>: " + msg+ "</li>");
if($("#tiping").length) {
$('#tiping').appendTo('#msgs');
}
$('#chatbox').prop('scrollTop', $('#chatbox').prop('scrollHeight'));
}
}
$('#msg').bind('focus click', function () {
textarea_focus = true;
$('#chatbox').prop('scrollTop', $('#chatbox').prop('scrollHeight'));
});
$('#msg').bind('click', function () {
socket.emit("typing", stranger_session);
});
$('#msg').bind('paste', function(e){
return false;
});
$("#send_message").click(function() {
emit_message();
//$("#msg").focus();
});
$("#msg").keypress(function(e){
if(e.which == 13) {
emit_message();
if(e.preventDefault) {
e.preventDefault();
}
return false;
}
});
var is_typing = '';
socket.on("typing", function() {
if(stranger_name==false) return;
clearTimeout(is_typing);
is_typing = setTimeout(function() {
$("#tiping").remove();
$('#chatbox').prop('scrollTop', $('#chatbox').prop('scrollHeight'));
return false;
}, 5000);
if($("#tiping").length) {
return false;
}
$("#msgs").append("<li class='tiping' id='tiping'><span style='color:red'>"+ stranger_name +" is typing...</span></li>");
$('#chatbox').prop('scrollTop', $('#chatbox').prop('scrollHeight'));
});
socket.on("kick", function(data) {
kick = true;
setCookie('kick',1, 1);
leave_alert = false;
socket.disconnect();
socket = null;
document.location.href = "/";
});
socket.on("reload", function(data) {
leave_alert = false;
document.location.href = "/random-chat";
});
var correctCaptchaAgain = function(response) {
if(response.length > 0) {
var html_c = '';
html_c += "<label><input id='random_name' value='"+my_name+"' maxlength='12'/></label>";
html_c += "<button type='button' id='start-chat' class='btn-success'>START CHAT</button>";
$('#random-chat-center').html(html_c).show();
}
};
var onloadCallback2 = function() {
grecaptcha.render('html_element2', {
'sitekey' : '6LfBAWoaAAAAAPaeh9X0LCj1lPLotVMt0BTwZ7rQ',
'callback' : correctCaptchaAgain
});
};
socket.on("disconnect", function(data) {
var html_d = '';
if(ads_loadet) {
html_d += '<li class="random-ad"></li>';
}
html_d += "<li id='disconnect'>";
if(data==1) {
html_d += "<strong>"+ stranger_name +" disconnected.</strong>";
}
if(is_captha== 1 && count_disconnects > 20) {
html_d += "<center>Just to make sure you are not a bot:<br/>";
html_d += '<div id="html_element2"></div>';
html_d += "</center> ";
html_d += "<div id='random-chat-center'></div>";
} else if(conversations > 0) {
html_d += "<div id='random-chat-center'><label><input id='random_name' value='"+my_name+"' maxlength='12'/></label>";
html_d += "<button type='button' id='start-chat' class='btn-success'>START CHAT</button></div>";
html_d += "<center>By starting random chat, you confirm that you are over 18 years old and agree to the <a href='/terms-of-use'>Terms of Use</a> and <a href='/privacy-policy'>Privacy policy</a></center>";
};
html_d += "</li>";
$("#msgs").html(html_d);
if(is_captha== 1 && count_disconnects > 20) {
onloadCallback2();
count_disconnects = 0;
localStorage.setItem('count_disconnects',count_disconnects);
}
$("#msg, #more, #send_message").attr("disabled", "disabled");
$('#chatbox').prop('scrollTop', $('#chatbox').prop('scrollHeight'));
stranger_session = false;
stranger_id = false;
stranger_name = false;
stranger_country = false;
textarea_focus = false;
clearTimeout(waiting_timeout);
count_messages_session = 0;
count_disconnects = count_disconnects + 1;
localStorage.setItem('count_disconnects',count_disconnects);
});
function encodeHTML(s) {
return s.replace(/&/g, '&').replace(/</g, '<').replace(/"/g, '"');
}
$("#msgs").on('change', '.myFile', function() {
var filesSelected = $(this).prop('files');
if (filesSelected.length > 0) {
var file = filesSelected[0];
if (file.type.match('image.*')) {
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function (e) {
var image = new Image();
image.onload = function (imageEvent) {
// Resize the image using canvas
var canvas = document.createElement('canvas'),
max_size = 300,
width = image.width,
height = image.height;
if (width > height) {
if (width > max_size) {
height *= max_size / width;
width = max_size;
}
} else {
if (height > max_size) {
width *= max_size / height;
height = max_size;
}
}
canvas.width = width;
canvas.height = height;
canvas.getContext('2d').drawImage(image, 0, 0, width, height);
var dataUrl = canvas.toDataURL('image/jpeg');
socket.emit("image", {'id': stranger_session, 'image': dataUrl});
$("#msgs").append("<li><strong><span class='text-success'><span style='color:blue'>"+my_name_li+"</span></span></strong>: <br/><img class='img-responsive' src='"+dataUrl+"'/></li>");
$(".myFile").remove();
$("#chatbox").animate({ scrollTop: $('#chatbox')[0].scrollHeight}, 1000);
ads_loadet = false;
}
image.src = e.target.result;
}
}
};
});
var current_title = document.title;
socket.on("chat", function(message) {
if(stranger_name==false) return;
message = $($.parseHTML(encodeHTML(message))).text();
$("#msgs").append("<li class='stranger'><strong><span class='text-success'><span style='color:red'>"+ stranger_name +"</span></span></strong>: " + message+ "</li>");
$("#tiping").remove();
$("#say_hi").remove();
$('#chatbox').prop('scrollTop', $('#chatbox').prop('scrollHeight'));
});
socket.on("system_message", function(message) {
$("#msgs").append("<li><strong><span class='text-success'><span style='color:green'>System: " + message+ "</span></span></strong></li>");
});
socket.on("request_photo", function() {
$("#msgs").append("<li><strong><span class='text-success'><span style='color:red'>"+ stranger_name +"</span></span></strong>: Requested your photo : <input type='file' name='my-image' class='myFile' accept='image/jpeg'/></li>");
$("#tiping").remove();
$('#chatbox').prop('scrollTop', $('#chatbox').prop('scrollHeight'));
});
socket.on("image", function(source) {
// Create an image container
var $imageContainer = $('<div>', { style: 'position: relative; display: inline-block;' });
// Create the image element with blur and context menu disabled
var $image = $('<img>', {
src: source,
class: 'image-blur',
oncontextmenu: 'return false;'
}).appendTo($imageContainer);
// Modify the warning overlay to be more general
var $warningOverlay = $('<div>', {
class: 'age-warning',
text: 'This image may contain explicit content. Click to view.'
}).appendTo($imageContainer);
// Click event to toggle blur and warning
$imageContainer.on('click', function() {
$image.toggleClass('image-blur');
$warningOverlay.toggle();
});
// Assuming the report button has an ID or class that can be targeted
var $reportButton = $('<div>', {
class: 'report-btn',
text: 'Report Image?',
click: function() {
// Trigger the existing report button functionality
$('#report_random').trigger('click');
}
});
// Append the image container and report button to the messages list
var $listItem = $('<li>').append(
$('<strong>').append(
$('<span>', { class: 'text-success' }).append(
$('<span>', { style: 'color:red', text: stranger_name + ':' })
)
),
'<br/>',
$imageContainer,
$reportButton
).appendTo('#msgs');
// Scroll to the bottom of the chatbox
$('#chatbox').animate({ scrollTop: $('#chatbox')[0].scrollHeight }, 2000);
// Optionally remove any typing indicator
$('#tiping').remove();
// Update any necessary flags or variables, e.g., ads_loaded
ads_loadet = false;
});
if (window.requestIdleCallback) {
requestIdleCallback(function () {
Fingerprint2.get(function (components) {
var values = components.map(function (component) { return component.value });
murmur = Fingerprint2.x64hash128(values.join(''), 31);
})
})
} else {
setTimeout(function () {
Fingerprint2.get(function (components) {
var values = components.map(function (component) { return component.value });
murmur = Fingerprint2.x64hash128(values.join(''), 31);
})
}, 500);
}
});
</script>
</div>
</div>
<div class="right-block">
<div class="clear"></div>
</div>
</div>
</div>
</article>
<footer>
<div id="footer">
<div class="body">
<div id="quick-search">
<a href="/random-chat" title="Random cha">Random Chat</a>
<a href="/talk-to-strangers" title="Talk To Strangers">Talk To Strangers</a>
<a href="/chat-rooms" title="Chat Rooms">Chat Rooms</a>
</div>
</div>
<div id="copyright">
<ul id="footer_nav">
<li><a href="/terms-of-use">Terms Of Use</a></li>
<li><a href="/cookie-policy">Cookie Policy</a></li>
<li><a href="/privacy-policy">Privacy Policy</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
<nav>© 2024 ChatBlink
</nav>
</div>
</div>
<div id="sound"></div>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-WQ4P6JCC66"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-WQ4P6JCC66');
</script>
</footer>
</body>
</html>