So I have finished a project done in html5 canvas using some JS. Now I want to send it to the client so they can open it, run everything, basically use it. But they don't have adobe animate to open and they don't need the source code and so on.
How can I send them the project to run on their machine?
The best way is to host your content on a server like any other website.
The easiest web hosting service and that I use the most is Netlify. You can literally drag and drop a folder with your files onto their website and in a matter of seconds you get a link to access your content from anywhere. And it's free if you don't need advanced features.
I hope it helps.
I used my dropbox and asked them to run the .html file. But it's not opening. Another question, will they be able to download the folder and run it locally? Because everytime I change the location of my project I lose all of my audio files and need to re-add them to the project. Won't that happen to them?
No, you shouldn't do it.
Lots of features only work if the HTML file is running on a server due to security limitations.
So it's not a good practice to send HTML, CSS and JS to clients for them to download and run locally.
The Phaser framework offcial website has a pretty nice article about it:
"But they don't have adobe animate to open and they don't need the source code and so on.
How can I send them the project to run on their machine?"
That isn't how web files work.
When you publish (File > Publish) an Animate project you are creating a webpage:
• HTML document that holds the Canvas element
• JS document that the runs the code to make things display and move inside the canvas
So in order to run what you made they need all of that, lust like any other website project.
They don't need the source .fla but the published content they need, and they would need all of the files that are created when you publish the project.
Once they have all the published files they can use it for whatever their goal is. But in general this content is intended to be run off a web server like any other web page content.