当我单击页面上的链接时,我试图删除登录页面。该页面不是我的页面,因此我尝试使用用户脚本更改href。

无需任何修改,链接如下所示:

https://www.domain.com/out.php?u=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DPUZ1bC-1XjA%26amp%3Bfeature%3Drelated


我想要的是:

http://www.youtube.com/watch?v=PUZ1bC-1XjA&feature=related


我到目前为止所得到的:

http://www.youtube.com%2fwatch%3fv%3dpuz1bc-1xja%26amp%3bfeature%3drelated/


但是该地址在浏览器中不起作用。

这是我当前的代码:

$('a').each(function(index) {
            var aLink = $(this).attr('href');
            if(aLink) {
                if(aLink.indexOf("out.php?u=") > 0) {
                    aLink = aLink.substring(51);
                    console.log(aLink);
                    $(this).attr('href', "http://"+aLink);
                    console.log($(this).prop('href'));
                }

            }
        });


感谢所有帮助和提示。

最佳答案

您需要使用decode decodeURIComponent URL

更改:

$(this).attr('href', "http://"+aLink);


至:

$(this).attr('href', 'http://' + decodeURIComponent(aLink));

10-07 18:03