昨天在调试一段微信的JSSDK分享代码的时候,按照常规嘛,本来熟门熟路的,将预先写好的js代码加入到single.php里面,结果,网页加载不出来了,删掉代码就能加载,添上代码就卡住。百思不得其解,因为这段代码在另外一个网站上用得好好的,将代码单独复制出来,做成一个单网页,也能执行,就是不能跟single.php兼容。我考虑过是不是公众号的js安全域名没有生效,但是也不是。结果无意中将这一行代码删除:
require ('wxJSSDK/jssdk.php');
然后执行页面,发现页面竟然加载成功了。然后,很巧合,我将页面分享出去,竟然能成功地调用JSSDK!所有自定义分享参数都是正确的。
联想到这段代码之前用的函数是 require_once 而不是 require,我就考虑,是不是只需要执行一次jssdk.php呢?
因此,我将
require ('wxJSSDK/jssdk.php');
替换成
require_once ('wxJSSDK/jssdk.php');
然后再次刷新页面,发现页面还是卡住了,接下来就很诡异了,我将上面这行代码注释掉,再执行一次single.php结果,页面刷新成功,并且JSSDK调用正确,页面分享出去,能够成功执行JSSDK并带上自定义的参数。
好吧,也就只能这样了,能用就行,一行代码害我昨天晚上熬了大半夜。