为什么%E2%80%8F被添加到我的Youtube嵌入代码中?

时间:2014-01-31 00:37:16

标签: javascript php jquery iframe youtube

我在Youtube上有一堆视频,我使用相同的代码嵌入。所有的视频都运行正常,直到我上传了最后一个。每次我现在执行代码时,%E2%80%8F会附加到上次上传的视频中,除非我特别要求子字符串(0,11);请注意,没有这个黑客,代码仍然适用于我所有其他上传的视频。虽然代码现在适用于我的hack,但理解为什么会发生这种情况会很棒。

我的HTML标记如下所示:

<li><a href="#" class="help_video" id="oG-M25hnDII‏">sidebars</a></li>

我的javascript / jquery看起来像这样:

function openNewWindow(youtube_link) {
var youtube_link = youtube_link.toString();

youtube_link = youtube_link.substring(0,11);
 popupWin = window.open('/videos/help.php?youtube_link='+youtube_link,
 'open_window',
 'menubar, toolbar, location, directories, status, scrollbars, resizable, dependent, width=800, height=440, left=0, top=0')
 }

$(".help_video").click(function(){
openNewWindow($(this).attr('id'));
return false;
});
 });

然后,我关联的help.php包含以下代码:

<iframe width="756" height="426" src="//www.youtube.com/embed/<?php echo $_GET['youtube_link'];?>?rel=0&vq=hd720" frameborder="0" allowfullscreen></iframe>

谢谢!

2 个答案:

答案 0 :(得分:7)

该链接包括从右到左标记UTF8字符

看看这里: http://en.wikipedia.org/wiki/Right-to-left_mark

这是一个非打印角色,因此您不会在屏幕上看到它,但是您的编辑器将其隐藏起来。

尝试

  • 使用其他编辑器再次写入此部分代码
  • 设置代码编辑器以显示特殊字符(标签,换行符等)。这样您就可以查看和删除rtl标记

答案 1 :(得分:2)

[这些说明不会出现在“评论”中,但这是对都铎回答的评论。所以,如果这样做,请给他赏金/答案]

在您的编辑中,选择

<li><a href="#" class="help_video" id="oG-M25hnDII‏">sidebars</a></li>

并使用键盘鼠标选择以下部分:

id="oG-M25hnDII‏">sidebars

然后点击“删除”,以便最终得到

<li><a href="#" class="help_video" </a></li>

保存,从编辑器关闭文件,在编辑器中打开文件。

将光标放在</a>之前并键入(不粘贴,但是使用键盘手动键入代码),这样您就可以从开始的位置结束。

保存。

(然后,如果这样做,请找一位友好的编辑)

罗布