自动网址修饰符

时间:2012-11-18 02:43:01

标签: javascript

https://stackoverflow.com/questions/11798336/change-all-website-links-to-affiliate-links-automatically?lq= 1(第二个)获得一个小脚本,将联盟会员标记添加到网址

这就是我在页面标题中添加的内容

    <script type="text/javascript" src="http://。。。。。。/js/jquery-1.8.3.min.js"></script>

<script type='text/javascript'>
$("a").click(function() {
    addAffiliate(this);
});

myCode = "http://moe.jlist.com/click/99999999?url=";
myAmazonCode = "&tag=99999999"
    function addAffiliate(link) {
        alert("enterting script: " + link.href);
        if ((link.href).indexOf("jlist.com") > -1 && (link.href).indexOf(myCode) < 0) {
                link.href = myCode + link.href;
        }else if((link.href).indexOf("amazon.com") > -1 && (link.href).indexOf(myAmazonCode) < 0){
                link.href = link.href + myAmazonCode;   
        }
            alert(link.href);
            return true;
        }​
</script>

然而,它不起作用,但是当我使用jquery将框架设置为'onload'时,它可以从上面链接提供的url上的jsfiddle.net上运行

其次 我有来自另一个购物网站的转换代码,我希望将其整合到我的代码中 这是他们给我的一个样本

    function convert_aff_links( $_body, $_aff_id = '9999999' )
{
    $_body = preg_replace
    (
        '@://(w+\.)?(playasia|play-asia)\.com/?([^/a-zA-Z])@',
        '://www.play-asia.com/SOap-23-' . '83-' . $_aff_id . '-50-00.html$3',
        $_body
    );

    $_body = preg_replace
    (
        '/paOS-(\d{2})/',
        'SOap-23-' . '83-' . $_aff_id . '-50-$1',
        $_body
    );

    return $_body;
}

提前致谢

1 个答案:

答案 0 :(得分:1)

在加载DOM之前,您的运行时间太早,因此页面中没有a标记,但要附加到:

<script type='text/javascript'>
$("a").click(function() {
    addAffiliate(this);
});
</script>

将其更改为此,以便在文档加载之前不会运行:

<script type='text/javascript'>
$(document).ready(function() {
    $("a").click(function() {
        addAffiliate(this);
    });
});
</script>