我有一个传递问题?和=通过我的网址,因为我使用drupal(虽然我认为它与drupal或静态网站无关)。
每种媒体内容类型我都需要一个localhost / media / video路径?open =?cbox10
Pathauto模块为每种媒体资产内容类型都有此功能。 媒体/视频?开放=?CBOX [NID]
然后节点url看起来像 http://localhost/media-gallery/images%3Fopen%3D%3Fcbox14
如果我错了,请告诉我,但我相信我现在需要使用php对网址进行编码/解码。这些节点网址中的每一个都需要在视频页面上直接打开彩色框。
我正在调查urlEncodeComponent但不确定如何实现它。我想它会在我的page.tpl.php中,并且只要存在这些字符就被解码。
我可以在jquery或php中编码URL的值吗?
如果有人了解我没有使用的路径自动模块,请告诉我。我已经尝试'不替换'我的别名网址中的特定字符,但它没有按预期工作,因为它仍然显示解码。
我需要对此网址进行编码,以便为我页面上的每个独特内容传递正确的链接以打开图形标记。
目前为每个视频资产页面显示:
<meta property="og:url" content="http://localhost/media-
gallery/images%3Fopen%3D%3Fcbox14" />
需要编码到媒体/视频?open =?cbox14
Jquery根据唯一资产ID
直接打开彩盒// Colorbox direct linking
// Get the cb id in url or set false if not found
var colorboxId = (window.location.href.indexOf('open=')==-1) ?
false :
window.location.href.slice(window.location.href.indexOf('open=') + 'open='.length + 1).split('&')[0];
// Instantiate all colorboxes on the page
$(".colorbox-inline").colorbox();
// If id of colorbox was sent in url, open it now
if(colorboxId !== false) {
$("#" + colorboxId).colorbox({open:true});
}
目前正在测试......不起作用:
<script>
$(document).ready(function() {
var ogurl = $('meta[property="og:url"][content]').prop("content");
$( ogurl ).prop("content",
decodeURIComponent( ogurl );
});
</script>
它适用于它是什么但是如何确保我的网址被正确编码,以便facebook og:url可以获取已解码的网址。
非常感谢!
答案 0 :(得分:1)
如果你用PHP编写这个,你最好用PHP解码它。
echo '<meta property="og:url" content="' . urldecode("http://localhost/media-
gallery/images%3Fopen%3D%3Fcbox14") . '" />';
否则使用jQuery但我不确定是否可以这样做因为Facebook也执行JavaScript而你应该修改它(例如点击事件)。
$('meta[property="og:url"][content]').each(function() {
$(this).prop("content", decodeURIComponent($(this).prop("content")));
});