How to make an IK/FK switch?

Does it require a script or…?

No it requires you to key the IK constraint and select a driver for it in the IPO window.
Have one window open as the IPO window and one as the button window where you go to the contraint area. Set the IPO window to constraint, you should have a channel called inf.
When you ctrl leftclick, you key that channel (which is the IK constraint channel)
click twice to cerate two points, you probably will not want a curve, but a sharp line instead. So press T and choose lineair for the interpolation. Press N to bring up the properties dialogue, and click “add driver” fill in the name for the driver object, choose the method of driving loc/rot/scale x/y or z, and then tweak the points to tell where the curve would have no influence (y=0) and where it would have full influence (y=1)

Thanks, guys.
Now I gotta try it.

There’s already a bug with this approach(Driving Inf IPO). when you switch to FK and rotate the IK bone(the bone which have ik constrain) Your switch never work again till you refresh it by pressing up and down arrow key. I can’t solve this issue if you can please tell me too at :