我一直在试着想出这个问题。希望有人可以帮忙。
我正在尝试内容锁定此网站:blog.funnyhunt.com
这个想法是,当有人点击“喜欢”按钮(工作正常)然后显示内容时,人们应该喜欢我的Facebook页面......但最后一点不起作用。
现在这是一个奇怪的部分......对某些人而言,它的工作正常,对于其他人来说,它不会透露内容,只是让他们像页面一样,内容保持锁定状态。
我用一系列不同的储物柜对它进行了测试,我不断获得相同的体验,有时候它可以使用,有时却没有。
那是怎么回事?我已尝试使用不同的Facebook帐户,代理和清除cookie进行测试......但没有运气。
答案 0 :(得分:0)
答案 1 :(得分:0)
我在JavaScript中开发了一个内容储物柜,具有以下功能:
该实现类似于上面引用的工具,即使用cookie。
这是代码,如果你想看到它的实际运行或它与更多社交小部件的集成,请访问 How to dramatically increase social media LIKEs to your web site
<head>
<script src="contentslocker.js" type="text/javascript"></script>
</head>
<body>
...
<div class="irBodyLocker">
<p>The rest of the article is locked</p>
<p>To continue reading, become our friend pressing one of the buttons</p>
...put here the social widgets
</div>
<div class="irLockedBody" style="display:none;">
...put here the locked contents
</div>
</body>
The IdeaR.ContentsLocker.lockContents function is invoked by the script.
IdeaR.ContentsLocker.lockContents = function ()
{
$(function ()
{
if (IdeaR.ContentsLocker.socialActivity() == true)
{
$('div.irBodyLocker').hide();
$('div.irLockedBody').show();
}
// Add social handlers only if contents are locked
else
$(function ()
{
// Facebook
var exsistingFbAsyncInit = window.fbAsyncInit;
if (exsistingFbAsyncInit == null)
window.fbAsyncInit =
IdeaR.ContentsLocker._subscribeFacebookLike();
else
window.fbAsyncInit = function ()
{
exsistingFbAsyncInit();
IdeaR.ContentsLocker._subscribeFacebookLike();
};
// Twitter
twttr.ready(function (twttr)
{
twttr.events.bind('tweet',
IdeaR.ContentsLocker.ontwitteraction);
twttr.events.bind('follow',
IdeaR.ContentsLocker.ontwitteraction);
});
});
});
};
IdeaR.ContentsLocker.socialActivity = function ()
{
return IdeaR.ContentsLocker._getCookie(
IdeaR.ContentsLocker._socialAction, 'false') == 'true' ? true : false;
};
IdeaR.ContentsLocker._getCookie = function (name, defaultValue)
{
var docCookies = document.cookie.split(";");
for (var i = 0; i < docCookies.length; i++)
{
var equalPos = docCookies[i].indexOf('=');
var currentName = unescape(docCookies[i].substr(0, equalPos));
currentName = currentName.replace(/^\s+|\s+$/g, '');
if (currentName == name)
{
var value = docCookies[i].substr(equalPos + 1);
return unescape(value);
}
}
return defaultValue;
};
IdeaR.ContentsLocker._socialAction = 'SocialAction';
IdeaR.ContentsLocker._subscribeFacebookLike = function ()
{
FB.Event.subscribe('edge.create', function (targetUrl)
{
IdeaR.ContentsLocker.unlockContents();
});
};
IdeaR.ContentsLocker.ontwitteraction = function (intent_event)
{
if (intent_event)
IdeaR.ContentsLocker.unlockContents();
};
IdeaR.ContentsLocker.unlockContents = function ()
{
$('div.irBodyLocker').slideUp(400, function ()
{
$('div.irLockedBody').fadeIn();
});
IdeaR.ContentsLocker.saveSocialAction();
};
IdeaR.ContentsLocker.saveSocialAction = function ()
{
IdeaR.ContentsLocker._setCookie(
IdeaR.ContentsLocker._socialAction, true, 10000);
};
IdeaR.ContentsLocker._setCookie = function (name, value, expirationDays)
{
var cookieString = escape(name) + '=' + escape(value);
if (expirationDays != null)
{
var expirationDate = new Date();
expirationDate.setDate(expirationDate.getDate() + expirationDays);
cookieString += '; expires=' + expirationDate.toUTCString();
}
document.cookie = cookieString;
};