【楼主删除了该帖】

@Ta 07-01 00:49 633点击
用户被禁言,发言自动屏蔽。
回复列表(19)
  • 1
    @Ta / 07-01 05:41

    Js
    小尾巴我就菜鸡一枚 https://qianxun.ml千寻网

  • 3
    @Ta / 07-01 12:49
    用户被禁言,发言自动屏蔽。
  • 4
    @Ta / 08-09 22:57
    用户被禁言,发言自动屏蔽。
  • 5
    @Ta / 07-01 14:56

    @52597060,不会啊,建议你找真大佬比如老虎
    小尾巴我就菜鸡一枚 https://qianxun.ml千寻网

  • 6
    @Ta / 07-01 15:28
    用户被禁言,发言自动屏蔽。
  • 7
    @Ta / 07-01 17:53

    @52597060

    <p><span class="icon icon-lg text-white">flash_auto</span>导入订阅:<br><br><a class="btn btn-subscription" href="#" onclick="location.href='shadowrocket://add/sub://'+btoa('{$config["subUrl"]}')+'/link/'+btoa('{$ssr_sub_token}')+'?mu=1?remarks=ssrr'; return false" role="button">导入订阅</a>
    

    备注1:请自行确认{$config["subUrl"]}{$ssr_sub_token}已被模板引擎替换为正确内容,否则js会由于双引号未转义而无法执行。
    备注2:+ /=都是标准base64编码中会出现的字符,如果不想这些字符出现,必须在调用btoa()后自行替换为其他字符。

  • 8
    @Ta / 07-01 19:23
    用户被禁言,发言自动屏蔽。
  • 9
    @Ta / 07-01 20:09

    @52597060,这说明你的模板引擎没有正确替换变量。
    你可以尝试静态内容,比如:

    <p><span class="icon icon-lg text-white">flash_auto</span>导入订阅:<br><br><a class="btn btn-subscription" href="#" onclick="location.href='shadowrocket://add/sub://'+btoa('虎绿林')+'/link/'+btoa('老虎会游泳')+'?mu=1?remarks=ssrr'; return false" role="button">导入订阅</a>
    

    如果可以正常使用,说明js代码没有问题,问题在于{$config["subUrl"]}没有被正确替换。因为你没有告诉我任何关于模板引擎的信息,我没有办法给你猜测解决方案。

  • 10
    @Ta / 07-01 20:28

    @老虎会游泳,因为你没有告诉我任何关于模板引擎的信息,我没有办法给你猜测解决方案。
    这句话我会讲 让我猜bug 果然老虎有文化,再次膜拜

  • 11
    @Ta / 07-01 22:05
    用户被禁言,发言自动屏蔽。
  • 12
    @Ta / 07-01 22:13
    用户被禁言,发言自动屏蔽。
  • 13
    @Ta / 07-01 23:16

    @52597060,你复制了整个标签吗?
    <a class="btn btn-subscription" href="#" onclick="location.href='shadowrocket://add/sub://'+btoa('虎绿林')+'/link/'+btoa('老虎会游泳')+'?mu=1?remarks=ssrr'; return false" role="button">导入订阅</a>
    这里有一段写在onclick属性里面的js代码。href只是象征性的#。如果你把js代码写在href属性里面,是不会起作用的。只有shadowrocket://add/sub://'+btoa('虎绿林')+'/link/'+btoa('老虎会游泳')+'?mu=1?remarks=ssrr也是不会起作用的,onclicklocation.href=都不能少,href="#"也不能少,否则链接不会显示。双引号和单引号也必须保持现状,因为双引号里面不能再包含双引号。所以,你应该完整的复制整个标签,而不是把其中一部分放进你的代码。
    此外,我没有在你的模板文件里找到我的代码,所以不知道你是怎么用的。如果你要检查错误,你应该访问你的页面,然后通过“查看源代码”功能确认最终的代码是不是与我给出的相符。

    要使用js实现编码,应该使用如下完整代码(不要删减你不理解的部分):

    <a class="btn btn-subscription" href="#" onclick="location.href='shadowrocket://add/sub://'+btoa('{$config["subUrl"]}')+'/link/'+btoa('{$ssr_sub_token}')+'?mu=1?remarks=ssrr'; return false" role="button">导入订阅</a>
    

    此外,如果你使用的是PHP Smarty 3模板引擎,你也可以使用这种方式:

    <a class="btn btn-subscription" href="{base64_encode($config["subUrl"])}/link/{base64_encode($ssr_sub_token)}?mu=1" role="button">导入订阅</a>
    

    这是通过调用php函数base64_encode()在服务器端编码。

    如果你遇到任何问题,请在【浏览器】使用“查看源代码”功能,然后粘贴浏览器显示的这部分代码的源代码(也就是模板引擎输出的结果)。粘贴任何其他东西对解决问题都没有太大帮助。

    还有,对于“shadowrocket软件不能正常解析生成的这个地址”这种问题,我的代码也可能没有办法解决。因为你只告诉我“用base64编码”,并且也只给了我shadowrocket://add/sub://{$config["subUrl"]}/link/{$ssr_sub_token}?mu=1?remarks=ssrr这样一个地址格式,所以这里的代码只能做到你给出的要求。但是,shadowrocket软件很可能还有其他要求(比如不能出现+ =/。或者你给的格式本来就不正确,比如为什么会出现两个问号,比如既然base64编码本身会出现/,为什么还用/分割两个参数等问题)。你可能需要先自己弄清楚shadowrocket软件想要的是什么格式,然后再来考虑怎么实现。在网址中使用的base64编码大多数都是非标准的,因为网址中不适合出现标准base64编码中会出现的+(在URL中代表空格)=(分割URL参数和名称)以及/(分割URL目录)。而每个软件怎么解决这种问题的方法都不一样。比如虎绿林是把+改成-,把/改成_,把=改成.。但是其他软件可能有其他做法。

  • 14
    @Ta / 07-02 01:12
    用户被禁言,发言自动屏蔽。
  • 15
    @Ta / 07-02 12:06

    @52597060

    <p><span class="icon icon-lg text-white">flash_auto</span>不推荐导入:<br><br><a class="btn btn-subscription" href="shadowrocket://add/sub://{base64_encode("{$config.subUrl}/link/{$ssr_sub_token}?mu=1")}?remarks=ssrr" role="button">点击导入至客户端</a><br>
    
  • 16
    @Ta / 07-02 15:51
    用户被禁言,发言自动屏蔽。
  • 17
    @Ta / 07-12 01:58
    用户被禁言,发言自动屏蔽。
  • 18
    @Ta / 07-12 18:00

    @52597060

    <p><span class="icon icon-lg text-white">flash_auto</span>不推荐导入:<br><br><a class="btn btn-subscription" href="shadowrocket://add/sub://{str_replace('=', '', base64_encode("{$config.subUrl}/link/{$ssr_sub_token}?mu=1"))}?remarks=ssrr" role="button">点击导入至客户端</a><br>
    
  • 19
    @Ta / 07-12 19:50
    用户被禁言,发言自动屏蔽。
添加新回复
该帖子已锁定,不能回复。

[聊天-公共聊天室] 马上发卡:@所有人 欢迎大家入驻马上发卡平台https:www.mashangfaka.com