JavaScript代码在Firefox正常运行,Chrome中无法生效的问题求助
Instagram关注者与被关注者对比工具Chrome兼容问题
我编写了一段用于上传JSON文件,对比Instagram关注者与被关注者列表,筛选出未回关用户的代码。该代码在Firefox中刷新页面后可将结果填充至textarea,但在Chrome中无法正常工作。我尝试通过onchange事件处理文件上传,仍未解决问题,恳请提供帮助。
代码实现
HTML部分
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Followers and Following List Comparison</title> <!-- <link rel="stylesheet" type="text/css" href="../styles.css" /> --> </head> <body> <div class="follows"> <div class="followers"> <h2>Upload Followers List</h2> <input id="followers" type="file" accept="application/json" /> <textarea id="followers_result" rows=25 cols=50></textarea> </div> <div class="following"> <h2>Upload Following List</h2> <input id="following" type="file" accept="application/json" /> <textarea id="following_result" rows=25 cols=50></textarea> </div> <div class="result"> <h2>People who are not following you</h2> <textarea id="result" rows=25 cols=50></textarea> </div> </div> </body> </html>
JavaScript部分
//followers list document.getElementById('followers').onchange = function(evt) { try { let files = evt.target.files; if (!files.length) { alert('No file selected!'); return; } let file = files[0]; let reader = new FileReader(); const self = this; reader.onload = (event) => { obj = JSON.parse(event.target.result); followers_data = Object.keys(obj).map(key => { return obj[key]; }); followers = followers_data.flat(1); follower_array = []; for (i = 0; i < followers.length; i++) { follower_array.push(followers[i].string_list_data[0].href); } document.getElementById('followers_result').value = follower_array.join("\n"); followers = document.getElementById('followers_result').value; }; reader.readAsText(file); } catch (err) { console.error(err); } } //following list document.getElementById('following').onchange = function(evt) { try { let files = evt.target.files; if (!files.length) { alert('No file selected!'); return; } let file = files[0]; let reader = new FileReader(); const self = this; reader.onload = (event) => { obj = JSON.parse(event.target.result); followers_data = Object.keys(obj).map(key => { return obj[key]; }); followers = followers_data.flat(1); follower_array = []; for (i = 0; i < followers.length; i++) { follower_array.push(followers[i].string_list_data[0].href); } document.getElementById('following_result').value = follower_array.join("\n"); // console.log(document.getElementById('followers_result').value); following = document.getElementById('followers_result').value; }; reader.readAsText(file); } catch (err) { console.error(err); } } following = document.getElementById('following_result').value; console.log(following); followingj = JSON.stringify(following); spfollowing = JSON.parse(followingj); finalfollowing = spfollowing.split('\n'); console.log(finalfollowing); followers = document.getElementById('followers_result').value; console.log(followers); followersj = JSON.stringify(followers); spfollowers = JSON.parse(followersj); finalfollowers = spfollowers.split('\n'); console.log(finalfollowers); finalfollowing = finalfollowing.filter(val => !finalfollowers.includes(val)); users = []; finalfollowing.forEach(function(item) { user = item.split('https://www.instagram.com/'); users.push(user[1]); }) console.log(users);
内容的提问来源于stack exchange,提问作者Sarah
相关产品推荐
相关产品推荐

