嗨,伙计们,我很好奇是否有人可以帮助我。我通常不在这里发帖,但我已经用尽了所有的努力,无法弄清楚这一点。我这里有这段代码
function insertVideo(link)
{
if (link)
{
if(link.substring(0,29)!="http://www.youtube.com/watch?"){
alert("You did not enter a valid URL!\r\nPlease try again.");
return false;
}
else{
link = link.replace(/watch\?/,"").replace(/\=/,"/");
}
var editpane = document.frmPost.addesc;
var linkcode = "[EMBED]" + link + "[/EMBED]";
editpane.focus();
/*if (document.selection)
{
document.selection.createRange().text = linkcode;
}
else*/
if (editpane.selectionStart || editpane.selectionStart == '0')
{
var selstart = editpane.selectionStart;
var selend = editpane.selectionEnd;
editpane.value = editpane.value.substring(0, selstart) + linkcode + editpane.value.substring(selend);
editpane.selectionStart = selstart + linkcode.length;
editpane.selectionEnd = editpane.selectionStart;
}
else
{
editpane.value = editpane.value + linkcode;
}
editpane.focus();
}
}
我遇到的问题是当用户尝试在地址中发布带有 https 的 youtube 视频时。
我明白如果我改变
{
if(link.substring(0,29)!="http://www.youtube.com/watch?"){
alert("You did not enter a valid URL!\r\nPlease try again.");
return false;
}
到
{
if(link.substring(0,30)!="https://www.youtube.com/watch?"){
alert("You did not enter a valid URL!\r\nPlease try again.");
return false;
}
有用。但是,当用户输入没有 https 的 http 地址时,它不再起作用。我想我可以将语句与 OR 结合起来,但这也不起作用,我有
if(link.substring(0,29)!="http://www.youtube.com/watch?" || link.substring(0,30)!="https://www.youtube.com/watch?"){
alert("You did not enter a valid URL!\r\nPlease try again.");
return false;
}
else{
link = link.replace(/watch\?/,"").replace(/\=/,"/");
}
所以基本上我需要它在两种情况下(https和http)都可以工作,而不仅仅是其中一种。我很难过,我不是 javascript 专业人士,所以我确定这是一个小错误,但我花了太多时间试图自己解决这个问题。如果可以的话请帮忙。谢谢!